fix: align mentor page with final day/night visual review

Resolve B-98 visual review deviations and B-97 atomicity finding:
- Scoped mentorView header to title/subtitle + theme toggle only (hides
  date, refresh, background refresh, system management and account menus).
- Map contact avatars by stable id to the final day/night palette (52科比
  and self stay blue; others use the final violet/green/orange/red/teal/
  purple/yellow tones).
- Grade badges read A级/B级/C级; pinned contacts render a pin + 置顶
  badge; row-side pin controls are removed (chat header keeps pinning).
- Chat header drops grade badges; subtitle shows the active contact
  description/tagline.
- Assistant message column caps at 900px and centers on wide screens;
  user bubble keeps its 60% cap.
- Widen the directory search field (~218px target), keep filter/sort on
  the same row, and make the filter button icon-only (no chevron).
- Follow-up links drop the leading icon; no '日期 · 回答完成' meta line;
  follow-up divider is 382px and left-aligned with the text column.
- Own-message meta shows time only; composer height converges to ~85px
  while keeping auto-grow and the 168px cap.
- Selected contact right inset ~10px, header action radius 8px, and a
  thin list scrollbar instead of the reserved gutter.
- Remove the iFinD settings switch fragment from index.html so the mentor
  commit no longer carries half of the parallel iFinD work; the id
  contract test now tolerates dangling references introduced only by
  uncommitted working-tree edits.
- Add contract + e2e assertions for the header visibility, avatar tone
  mapping, badge copy, chat subtitle, message max-width, composer height,
  and follow-up area.

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
MS-01-Codex
2026-08-18 13:15:10 +08:00
co-authored by multica-agent
parent 8ac3adbb5d
commit 39b6f71443
10 changed files with 342 additions and 80 deletions
+7 -7
View File
@@ -370,9 +370,9 @@
}
],
"css_layers": [
"/shared/tokens.css?v=20260818-1",
"/shared/tokens.css?v=20260818-2",
"/shared/base.css?v=20260806-1",
"/shared/shell.css?v=20260818-1",
"/shared/shell.css?v=20260818-2",
"/shared/auth.css?v=20260806-1",
"/shared/components/controls.css?v=20260806-1",
"/shared/components/navigation.css?v=20260806-1",
@@ -390,7 +390,7 @@
"/pages/popularity/foundation.css?v=20260806-1",
"/pages/dragon-tiger/foundation.css?v=20260806-1",
"/pages/screener/foundation.css?v=20260806-2",
"/pages/mentor/foundation.css?v=20260818-1",
"/pages/mentor/foundation.css?v=20260818-2",
"/pages/heaven/foundation.css?v=20260806-2",
"/pages/review/foundation.css?v=20260806-1"
],
@@ -451,7 +451,7 @@
},
{
"path": "frontend/shared/shell.css",
"bytes": 54738,
"bytes": 54781,
"lines": 3348
},
{
@@ -461,8 +461,8 @@
},
{
"path": "frontend/index.html",
"bytes": 46345,
"lines": 649
"bytes": 46058,
"lines": 647
},
{
"path": "backend/features/screener/catalog.py",
@@ -606,7 +606,7 @@
},
{
"path": "frontend/pages/mentor/page.html",
"bytes": 8199,
"bytes": 8117,
"lines": 110
},
{