feat(admin): redesign ticket handling dialog as conversation workspace
Render the original question and replies as one chat-style timeline, merge editor and toolbar into a shared composer for replies and notes, and refresh sidebar cards. Remove superseded renderers and selectors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
09f3a94cea
commit
d7616b193e
3 files changed
+182
-139
No files matched your search
@@ -59,7 +59,9 @@ test('conversation, private notes and final-state confirmation remain distinct',
|
||||
assert.match(detail, /TicketNoteService::for_ticket\(\$id\)/);
|
||||
assert.match(detail, /TicketRepository::get_instance\(\)->replies\(\$id\)/);
|
||||
assert.match(detail, /!empty\(\$quote\['is_deleted'\]\) \? __\('原回复已删除', 'aksrt'\)/);
|
||||
for (const action of ['reply', 'note', 'status']) assert.ok(detail.includes(`ticket_form_open('${action}'`));
|
||||
for (const action of ['reply', 'note']) assert.ok(detail.includes(`ticket_composer('${action}'`));
|
||||
assert.ok(detail.includes("ticket_form_open('status'"));
|
||||
assert.match(detail, /return \$this->ticket_form_open\(\$action, \$id,/);
|
||||
assert.match(detail, /aksrt-ticket-detail__closed/);
|
||||
assert.match(detail, /TicketStatusService::can_transition\(\$from, \$key\)/);
|
||||
assert.match(detail, /data-aksrt-ticket-close-confirm/);
|
||||
|
||||
Reference in new issue
Block a user