Skip to content

Add a shared icon module (75 inline SVGs across 31 files, close icon pasted 10x) #208

Description

@johannesjo

Problem

There is no icon module: 75 inline <svg> blocks across 31 files, with heavy duplication and mixed media.

  • The Octicon close path (M3.72 3.72…) is hand-pasted 10 times; copy/branch and external-link paths several times each; the folder icon exists in two subtly different variants that render visibly differently.
  • Text glyphs serve as icons alongside SVGs: (SubTaskStrip.tsx:74, CommitTreeOverlay.tsx:149, TerminalSearchOverlay.tsx:150), (SubTaskStrip.tsx:236, TaskStepsSection.tsx:231), throughout PromptInput.tsx, and an emoji 📁 (NewTaskDialog.tsx:1093) — emoji render platform-dependently and full-color, breaking the otherwise monochrome currentColor icon language.
  • Icon sizes span ~9 distinct widths (8–16 px).

Proposed fix

A single src/components/icons.tsx exporting the ~20 actual glyphs as components with a size prop (16 default, 12 small), then replace the pasted SVGs and glyph/emoji icons. Mechanical work, good first issue.


From a full design/UX audit (2026-07-07); adversarially verified (counts re-derived). Line numbers as of b342bbd (v1.12.0).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomersuxUX / design improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions