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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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