Skip to content

Housekeeping after the 0.67 design work: PaletteIcon is dead, and three source comments describe a Tailwind config, a theme generator and a theme count that no longer exist #826

Description

@edspencer

Four small dead-or-stale items left behind by the 0.67 design work (#763 / #780 / #801). None affects behaviour; all of them mislead a reader. Grouped because they are one tidy-up pass over packages/web.


1. PaletteIcon is dead code

packages/web/src/components/icons.tsx:279-280 exports PaletteIcon. grep -rn 'PaletteIcon' packages/web/src returns that definition and nothing else.

It was the icon for the standalone "Appearance" sidebar entry, which existed only on the #780 feature branch and was deleted before merge. The sidebar on main has Home / Projects / Config / Discover (packages/web/src/components/AppShell.tsx:390-415); appearance lives inside Config. Nothing references the icon.

Fix: delete it, or leave it with a comment saying it is kept deliberately. Right now it reads as "something uses this".


2. theme.ts claims a Tailwind config that no longer exists

packages/web/src/lib/theme.ts:15:

…this hook flips the dark class on <html> and persists the choice. Tailwind is configured darkMode: "class".

There is no Tailwind config file — tailwind.config.js and postcss.config.js were deleted in #763 (git show 67e493f --stat). Tailwind v4 is configured in CSS via @tailwindcss/vite, and the dark variant is declared at packages/web/src/index.css:54:

@custom-variant dark (&:where(.dark, .dark *));

The behaviour is unchanged — index.css:49 says so explicitly ("restores the v3 darkMode: \"class\" behaviour") — but theme.ts sends a reader looking for a config file that is not there.

Fix: point at index.css:54 instead.


3. theme-terminal.css describes a theme count and a build script that do not exist

packages/web/src/styles/theme-terminal.css:2-7:

terminal — the eighth runtime theme.

…It is deliberately NOT emitted by scripts/build-themes.mjs: that generator lifts tokens out of the four original direction worktrees…

Three problems:

  • There are four runtime themes, not eight: THEMES at packages/web/src/lib/appearance.ts:56-77 is foundation, parchment, terminal, scifi.
  • scripts/build-themes.mjs does not exist (ls → no such file).
  • packages/web/src/styles/themes.css, which the same comment block refers to, does not exist either.

All four themes are now standalone hand-authored CSS files imported at packages/web/src/index.css:41-44; the generator was eliminated. The comment is a fossil of the exploration phase and now argues against something that was removed.

Fix: rewrite the header to describe what is true — a standalone theme file, registered in appearance.ts and preloaded in index.html.


4. AppearancePanel says "five" where there are four

packages/web/src/components/AppearancePanel.tsx:79:

Small enough to scan five of at once…

AppearancePanel.tsx:108:

Five previews at one hue therefore show five genuinely different accents…

Four themes ship, so four previews render. The surrounding reasoning at :105-111 is correct and worth keeping — it explains why each preview is solved against its own theme's chroma and targets rather than shown with its shipped accent. Only the count is stale.

Fix: four.


Severity: trivial for all four. Blocks no docs claim. Filed so they are recorded rather than re-discovered — items 3 and 4 in particular would each cost the next reader a few minutes proving the code is right and the comment is wrong.

Metadata

Metadata

Assignees

No one assigned

    Labels

    XSExtra small: under ~50 lineschoreMaintenancegood first issueGood for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions