polish: replace sidebar Unicode glyphs with Lucide icons

The Unicode/symbol icons (◈ ☰ ▶ ⌕ ⟐ ✦ …) rendered inconsistently across
platforms and sizes. Lucide is crisp and pixel-perfect at any zoom.

- Add lucide-react (pinned exact); tree-shakes to the 15 icons used.
- NAV_ITEMS is now NavItem[] with ReactNode icons (the as-const array
  couldn't carry JSX). View type exported from the ui store for it.
- Icon spans switched from text-centred glyphs to flex-centred SVGs.
- Write-article ✦ -> PenLine.
This commit is contained in:
Jure
2026-05-21 21:19:55 +02:00
parent 5c490dbb56
commit da8aab7de5
4 changed files with 44 additions and 21 deletions
+10
View File
@@ -23,6 +23,7 @@
"@types/dompurify": "^3.0.5",
"dompurify": "^3.4.0",
"highlight.js": "^11.11.1",
"lucide-react": "1.16.0",
"marked": "^17.0.4",
"marked-highlight": "^2.2.3",
"react": "^19.1.0",
@@ -3585,6 +3586,15 @@
"yallist": "^3.0.2"
}
},
"node_modules/lucide-react": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.16.0.tgz",
"integrity": "sha512-dYwyPzb4MEKpGUmNYk3WKWPnMrHs3FKM+q94kAnJrcDIqqn1hq2xY8scaS2ovsOCM5D51ey2gaRG3PBb1vgoYQ==",
"license": "ISC",
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/lz-string": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",