Skip to content

Draw every icon from Lucide through named partials - #77

Merged
botre merged 1 commit into
masterfrom
icons-lucide
Sep 30, 2026
Merged

botre merged 1 commit into
masterfrom
icons-lucide

Conversation

@botre

@botre botre commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

The icons were hand-written SVG, copied into several views. The same idea looked different from place to place: deleting one request showed an X, and the HAR copy buttons showed a clipboard. This PR draws every icon from Lucide, one named partial per concept. Delete is now a trash can everywhere, copying is Copy, and the select caret is Lucide's chevron.

Icons now size to their label, so button icons move from 16px to 14px. The landing tiles keep 20px, and DESIGN.md names that exception. A Go test rejects inline SVG outside the partials and checks the Lucide drawing. The GitHub logo is a brand mark, so it moves to its own folder unchanged.

  1. Open an endpoint and delete one request.
  2. Copy a request as HAR.
  3. Open a select and check its caret.
  4. Open the landing page and check the tiles.

Every icon is now Lucide's own drawing (24 grid, stroke 2, round caps and
joins) in one partial per concept under src/views/partials/icons, and views
include the partial instead of pasting an SVG. The terminal glyph was drawn
twice, and five other icons were inline copies.

Meaning fixes: deleting one request used an X, which reads as close, and now
uses Trash2 like Delete all. The HAR buttons used a clipboard glyph; they copy
to the clipboard under a Copy label, so they take Copy. The select caret was a
filled Heroicons chevron with a hex approximating neutral-500; it is now
Lucide's ChevronDown, stroked in the exact neutral-500 OKLCH value.

.icon is 1em, so an icon matches the label beside it: 14px on the 0.875rem
controls, which were 16px. The landing tiles keep their 20px glyph.

icons_test.go fails on an svg in a view outside the icon and brand partials,
on an icon partial missing the Lucide attributes, on an unused partial, and on
a caret that is not ChevronDown in neutral-500. Each case was seen failing on
a planted violation. The GitHub mark moves to partials/brands and keeps its
filled drawing.
@botre
botre merged commit c727212 into master Sep 30, 2026
6 checks passed
@botre
botre deleted the icons-lucide branch September 30, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant