From ed8766db4f082013bae25bd3963b054d0f44ad3b Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Sat, 31 Oct 2026 23:32:29 -0700 Subject: [PATCH 1/2] feat(v2): agent settings and memory pages get the 52px phone top bar (TASK-730) Co-Authored-By: Claude Sonnet 5.5 Co-authored-by: wisp Agent-Model: claude/claude-sonnet-5-5/default --- frontend/src/v2/__tests__/v2-phone-shell.test.ts | 8 ++++++++ frontend/src/v2/agents/v2-agent-settings.css | 13 +++++++++++++ frontend/src/v2/v2.css | 2 ++ 3 files changed, 23 insertions(+) diff --git a/frontend/src/v2/__tests__/v2-phone-shell.test.ts b/frontend/src/v2/__tests__/v2-phone-shell.test.ts index 3d75a0287..fb4f50b2b 100644 --- a/frontend/src/v2/__tests__/v2-phone-shell.test.ts +++ b/frontend/src/v2/__tests__/v2-phone-shell.test.ts @@ -37,4 +37,12 @@ describe('D223 phone shell', () => { expect(at).toBeGreaterThan(css.indexOf('.v2-settings__title {')); expect(css.indexOf('.v2-feature__body {')).toBeLessThan(at); }); + + test('agent settings and memory pages get the same 52px bar inside the 760px query', () => { + const agentCss = fs.readFileSync(path.join(__dirname, '../agents/v2-agent-settings.css'), 'utf8'); + const tail = agentCss.slice(agentCss.indexOf('D223 (TASK-730)')); + expect(tail).toMatch(/\.v2-agent-settings > \.v2-page-head,\s*\.v2-agent-settings > \.v2-agent-memory__head\s*\{[^}]*min-height:\s*52px/); + const at = agentCss.indexOf('D223 (TASK-730)'); + expect(agentCss.slice(0, at).lastIndexOf('@media')).toBe(agentCss.lastIndexOf('@media (max-width: 760px)', at)); + }); }); diff --git a/frontend/src/v2/agents/v2-agent-settings.css b/frontend/src/v2/agents/v2-agent-settings.css index 906139189..c4c360070 100644 --- a/frontend/src/v2/agents/v2-agent-settings.css +++ b/frontend/src/v2/agents/v2-agent-settings.css @@ -130,6 +130,19 @@ .v2-agent-settings { padding: 16px; } .v2-agent-settings__section-head { flex-direction: column; align-items: flex-start; } .v2-agent-settings__key-meta { display: grid; gap: 4px; } + /* D223 (TASK-730): the same 52px phone top bar feature pages get from + .v2-feature__header. The page pads 16px, so the bar bleeds out of it. */ + .v2-agent-settings > .v2-page-head, + .v2-agent-settings > .v2-agent-memory__head { + display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; min-height: 52px; + margin: -16px -16px 12px; padding: 0 10px 0 12px; + border-bottom: 1px solid var(--v2-border-soft); + } + .v2-agent-settings > .v2-page-head h1, + .v2-agent-memory__ident h1 { + margin: 0; font: 800 21px/1 var(--v2-font-display); letter-spacing: -0.03em; + white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + } } /* Agent memory tab (TASK-690 slice 1): frame metrics from docs/design/artboards/d215 diff --git a/frontend/src/v2/v2.css b/frontend/src/v2/v2.css index 2d1c265a1..880c58cbc 100644 --- a/frontend/src/v2/v2.css +++ b/frontend/src/v2/v2.css @@ -10893,6 +10893,8 @@ details[open] > .v2-settings__summary > .v2-settings__icon:last-child { transfor .v2-root:lang(zh) .v2-login__title, .v2-root:lang(zh) .v2-feature__title, .v2-root:lang(zh) .v2-feature__header .v2-feature__title, +.v2-root:lang(zh) .v2-agent-settings > .v2-page-head h1, +.v2-root:lang(zh) .v2-agent-memory__ident h1, .v2-root:lang(zh) .v2-settings__title, .v2-root:lang(zh) .v2-settings__label, .v2-root:lang(zh) .v2-settings__account-name, From bda6c2e92966f53e63c12c03aa231fcd1b33de15 Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Sat, 31 Oct 2026 23:39:01 -0700 Subject: [PATCH 2/2] fix(v2): memory phone bar shrinks its name and stays 52px (TASK-730) Co-Authored-By: Claude Sonnet 5.5 Co-authored-by: wisp Agent-Model: claude/claude-sonnet-5-5/default --- frontend/src/v2/__tests__/v2-phone-shell.test.ts | 7 +++++++ frontend/src/v2/agents/v2-agent-settings.css | 4 +++- frontend/src/v2/v2.css | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/src/v2/__tests__/v2-phone-shell.test.ts b/frontend/src/v2/__tests__/v2-phone-shell.test.ts index fb4f50b2b..8023d7c8b 100644 --- a/frontend/src/v2/__tests__/v2-phone-shell.test.ts +++ b/frontend/src/v2/__tests__/v2-phone-shell.test.ts @@ -45,4 +45,11 @@ describe('D223 phone shell', () => { const at = agentCss.indexOf('D223 (TASK-730)'); expect(agentCss.slice(0, at).lastIndexOf('@media')).toBe(agentCss.lastIndexOf('@media (max-width: 760px)', at)); }); + + test('the memory bar lets the name shrink and drops the tab nav margin so it stays 52px', () => { + const agentCss = fs.readFileSync(path.join(__dirname, '../agents/v2-agent-settings.css'), 'utf8'); + const tail = agentCss.slice(agentCss.indexOf('D223 (TASK-730)')); + expect(tail).toMatch(/__ident\s*\{\s*min-width:\s*0/); + expect(tail).toMatch(/__seg\s*\{[^}]*margin-top:\s*0/); + }); }); diff --git a/frontend/src/v2/agents/v2-agent-settings.css b/frontend/src/v2/agents/v2-agent-settings.css index c4c360070..a831042ab 100644 --- a/frontend/src/v2/agents/v2-agent-settings.css +++ b/frontend/src/v2/agents/v2-agent-settings.css @@ -139,7 +139,9 @@ border-bottom: 1px solid var(--v2-border-soft); } .v2-agent-settings > .v2-page-head h1, - .v2-agent-memory__ident h1 { + .v2-agent-settings > .v2-agent-memory__head .v2-agent-memory__ident { min-width: 0; } + .v2-agent-settings > .v2-agent-memory__head .v2-agent-memory__seg { flex: none; margin-top: 0; } + .v2-agent-settings > .v2-agent-memory__head .v2-agent-memory__ident h1 { margin: 0; font: 800 21px/1 var(--v2-font-display); letter-spacing: -0.03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } diff --git a/frontend/src/v2/v2.css b/frontend/src/v2/v2.css index 880c58cbc..c430d3fbd 100644 --- a/frontend/src/v2/v2.css +++ b/frontend/src/v2/v2.css @@ -10894,7 +10894,7 @@ details[open] > .v2-settings__summary > .v2-settings__icon:last-child { transfor .v2-root:lang(zh) .v2-feature__title, .v2-root:lang(zh) .v2-feature__header .v2-feature__title, .v2-root:lang(zh) .v2-agent-settings > .v2-page-head h1, -.v2-root:lang(zh) .v2-agent-memory__ident h1, +.v2-root:lang(zh) .v2-agent-settings > .v2-agent-memory__head .v2-agent-memory__ident h1, .v2-root:lang(zh) .v2-settings__title, .v2-root:lang(zh) .v2-settings__label, .v2-root:lang(zh) .v2-settings__account-name,