refactor(web): migrate all ad-hoc inline SVG icons to lucide-solid #199
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab#199
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Replace every hand-inlined SVG icon in the web SPA with the equivalent icon from
lucide-solid, so the app uses one icon system throughout. The dependency and usage pattern (per-icon imports,currentColor, ~18–20px) are established by the settings rework (#198) — follow the same conventions.Known ad-hoc inline SVGs to migrate (sweep the codebase for the rest): the SideNav gear (Settings link), hamburger/menu in the mobile top strip, chevrons (rail collapse/re-open, breadcrumb/disclosure arrows), and any other one-off
<svg>elements in components. Where an exact Lucide equivalent exists, use it; where the current glyph is bespoke, pick the closest Lucide icon rather than keeping a mixed system.Visual size/stroke should match the current rendering closely enough that layouts don't shift (Lucide is 24px stroke-based like the existing glyphs; set explicit
sizeper site).Acceptance criteria
<svg>icon markup remains inweb/srccomponents (decorative/non-icon SVGs, if any, are out of scope — note them in the PR if kept)lucide-solid(tree-shaken; no full-library import)currentColorand render correctly in light and dark themesBlocked by