From a892de93414d24bc33f502f76212325378313090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=85=E5=87=A4?= Date: Sat, 10 Oct 2026 06:57:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20DialogPanel=20=E5=A2=9E=E5=8A=A0=20?= =?UTF-8?q?4xl=20=E5=AE=BD=E5=BA=A6=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 3 ++- src/components/dialog/DialogPanel.vue | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 0bfb4b0..32f8acc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -792,7 +792,8 @@ pass with `node scripts/check-ui-contract.mjs --write-baseline`. corner close in a view-swap dialog lands it ~12px off the title centerline). Knobs: `width` (mode-scoped default: `2xl` workbench · `xl` view-swap, whose slim-row list reads sparse a rung wider; `'lg'` one-field - forms · `'3xl'` editor-heavy), + forms · `'3xl'` editor-heavy · `'4xl'` a history rail beside the working + pane), `grow` (fixed `h-[80dvh]` for bodies with no intrinsic height — editors), `view-swap` (header is a `DialogViewHeader`, so the built-in corner close is disabled — the pairing is enforced by the prop, not by memory), diff --git a/src/components/dialog/DialogPanel.vue b/src/components/dialog/DialogPanel.vue index c90cc81..f5588f7 100644 --- a/src/components/dialog/DialogPanel.vue +++ b/src/components/dialog/DialogPanel.vue @@ -19,7 +19,9 @@ // - width: panel width rung. Defaults are MODE-SCOPED (see effectiveWidth): // 2xl for workbench, xl for view-swap; 'lg' for a one-or-two-field form // (a 2xl panel around one field reads barren); '3xl' for editor-heavy -// bodies (Monaco import). +// bodies (Monaco import); '4xl' for a two-column body — a history rail +// beside the working pane (the feedback dialog), where 3xl minus the rail +// leaves the working pane too narrow to read a conversation. // - grow: false (default) → max-h-[80dvh], panel hugs its content and the // cap only bites when content is tall. true → h-[80dvh] fixed — required // when the body has NO intrinsic height (an editor/iframe that must be @@ -47,7 +49,7 @@ const props = withDefaults(defineProps