From 93b671c7464db014ed6a93e3375277f092d661a3 Mon Sep 17 00:00:00 2001 From: yanweidong Date: Sun, 26 Jul 2026 00:16:58 +0800 Subject: [PATCH] fix(desktop): make overlays responsive --- apps/desktop/scripts/visual-check.mjs | 5 ++++- apps/desktop/src/styles.css | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/desktop/scripts/visual-check.mjs b/apps/desktop/scripts/visual-check.mjs index 7c2b7c3..13114f3 100644 --- a/apps/desktop/scripts/visual-check.mjs +++ b/apps/desktop/scripts/visual-check.mjs @@ -54,6 +54,8 @@ const home = await page.evaluate(() => ({ completed: document.querySelectorAll('.task-row.done').length, })) await page.locator('.task-row').first().click() +await page.waitForSelector('.arco-modal') +const taskModalWidth = (await page.locator('.arco-modal').boundingBox())?.width ?? 0 const taskModal = await page.getByText('编辑任务').count() await page.getByRole('button', { name: '取消' }).click() await page.getByRole('button', { name: '探索' }).click() @@ -102,11 +104,12 @@ if (home.navCount !== 0) failures.push(`all-projects view must hide the right ra if (home.statCount !== 4) failures.push(`expected four summary cards, got ${home.statCount}`) if (home.pending !== 1 || home.completed !== 0) failures.push(`all-project task sections incorrect: ${JSON.stringify(home)}`) if (taskModal !== 1) failures.push('task editor did not open') +if (taskModalWidth > 396) failures.push(`task modal must fit the 420px window, got ${taskModalWidth}px`) if (exploreSources !== 2 || exploreDetail !== 1) failures.push(`explore reader did not render: ${JSON.stringify({ exploreSources, exploreDetail })}`) if (documents !== 1) failures.push(`expected one document, got ${documents}`) if (documentActions !== 2 || markdownEditor !== 1 || markdownEditing !== 1) failures.push(`document actions did not render: ${JSON.stringify({ documentActions, markdownEditor, markdownEditing })}`) if (experts !== 1 || aiSwitches !== 2 || aiHistory !== 1) failures.push(`AI session pages did not render: ${JSON.stringify({ experts, aiSwitches, aiHistory })}`) if (profileMenu !== 1) failures.push('profile menu did not open') if (errors.length) failures.push(`console errors: ${errors.join('; ')}`) -console.log(JSON.stringify({ home, documents, documentActions, markdownEditor, markdownEditing, markdownLayout, experts, aiSwitches, aiHistory, taskModal, exploreSources, exploreDetail, profileMenu, errors }, null, 2)) +console.log(JSON.stringify({ home, documents, documentActions, markdownEditor, markdownEditing, markdownLayout, experts, aiSwitches, aiHistory, taskModal, taskModalWidth, exploreSources, exploreDetail, profileMenu, errors }, null, 2)) if (failures.length) throw new Error(failures.join('\n')) diff --git a/apps/desktop/src/styles.css b/apps/desktop/src/styles.css index 118887b..869b6d3 100644 --- a/apps/desktop/src/styles.css +++ b/apps/desktop/src/styles.css @@ -2,6 +2,13 @@ * { box-sizing: border-box; } body { margin: 0; min-width: 300px; min-height: 100vh; background: #f4f5f7; } button { font: inherit; } +.arco-modal-wrapper { padding: 12px; } +.arco-modal { width: min(520px, calc(100vw - 24px)); max-width: calc(100vw - 24px); } +.arco-modal-header { min-width: 0; } +.arco-modal-title { overflow-wrap: anywhere; } +.arco-modal-body { max-height: calc(100vh - 180px); overflow-y: auto; overscroll-behavior: contain; } +.arco-modal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; } +.arco-trigger-popup { max-width: calc(100vw - 24px); } .app-shell { --canvas: #f6f7f9; --surface: #fff; --line: #e5e6eb; --text: #1d2129; --muted: #86909c; --rail: #f2f3f5; display: grid; grid-template: 48px 46px minmax(0, 1fr) / minmax(0, 1fr) 58px; min-height: 100vh; color: var(--text); background: var(--canvas); overflow: clip; } .app-shell.theme-dark { --canvas: #171a1f; --surface: #23272e; --line: #3a3f47; --text: #f2f3f5; --muted: #a9b0bb; --rail: #2b3038; color-scheme: dark; }