Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* apps/desktop/src/renderer or packages/ui/src (brand-asset files
* excepted) — icons ride the single governed stroke instead.
* b) session-sidebar-nav.tsx imports exactly the decided semantic set
* (Plus / CalendarCheck / Blocks / Timer / Settings) from ./icons.js.
* (SquarePen / CalendarCheck / Blocks / Timer / Settings) from ./icons.js.
* c) icons.tsx stays the ONLY packages/ui/src file importing lucide-react
* (funnel integrity).
*/
Expand Down Expand Up @@ -85,9 +85,10 @@ describe('icon + typography governance contract', () => {
.map((name) => name.trim())
.filter(Boolean)
.sort();
// Decided semantic mapping: 新任务 → Plus, 每日回顾 → CalendarCheck,
// Decided semantic mapping (maintainer 2026-07-10: 新任务 matches the
// collapsed-topbar compose icon): 新任务 → SquarePen, 每日回顾 → CalendarCheck,
// 技能 → Blocks, 定时任务 → Timer, 设置 → Settings.
const expected = ['Blocks', 'CalendarCheck', 'Plus', 'Settings', 'Timer'];
const expected = ['Blocks', 'CalendarCheck', 'Settings', 'SquarePen', 'Timer'];
assert.deepEqual(
imported,
expected,
Expand Down
8 changes: 6 additions & 2 deletions apps/desktop/src/renderer/maka-tokens.css
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,12 @@
--success-text: color-mix(in oklab, var(--success) 50%, var(--foreground));
--destructive-text: color-mix(in oklab, var(--destructive) 50%, var(--foreground));
--info-text: color-mix(in oklab, var(--info) 50%, var(--foreground));
--warning: var(--info);
--warning-text: var(--info-text);
/* 警告 must be visually distinct from 提示 — they were literally the same
token, so the health page's info/warning tiers were indistinguishable.
Warning steps deeper + more orange than info's amber (l .75→.66,
h 70→55); still derived nowhere else, safe across palettes. */
--warning: oklch(0.66 0.18 55);
--warning-text: color-mix(in oklab, var(--warning) 50%, var(--foreground));

/* === foreground solid mix scale ===
foreground-N = N% of foreground interpolated INTO background.
Expand Down
4 changes: 2 additions & 2 deletions packages/ui/src/session-sidebar-nav.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { PlanReminder } from '@maka/core';
import { Blocks, CalendarCheck, Plus, Settings, Timer } from './icons.js';
import { Blocks, CalendarCheck, Settings, SquarePen, Timer } from './icons.js';
import type { NavSelection } from './nav-selection.js';
import { Button as UiButton, cn } from './ui.js';
import { cva } from 'class-variance-authority';
Expand Down Expand Up @@ -69,7 +69,7 @@ export function SessionSidebarNav(props: {
type="button"
onClick={props.onNew}
>
<Plus className="maka-nav-icon" aria-hidden="true" />
<SquarePen className="maka-nav-icon" aria-hidden="true" />
<span>新任务</span>
<kbd className="maka-nav-kbd" aria-hidden="true">⌘ N</kbd>
</UiButton>
Expand Down
Loading