Integrate Lucide icons and replace inline SVGs

Add Lucide icon library and switch many inline SVGs to programmatically generated Lucide icons for consistent styling and reuse. Adds frontend/vendor/lucide.min.js and includes it in index.html; adds helper functions (escapeSvgAttr, svgAttrs, lucideIcon) in app.js and replaces numerous hard-coded SVG strings with Lucide-generated icons and CSS utility classes. Update components.css with .gd-lucide-icon, color helpers for folder/file icons, and remove a global stroke-width override so icon strokeWidth can be controlled per icon. Small accessibility and UI tweaks: use aria-label/title on several buttons and swap icons in modals, menus and toolbars. Also updates package.json/package-lock.json (dependency adjustments).
This commit is contained in:
2026-05-13 13:37:31 +12:00
parent 558cd3ddd7
commit 7753abd896
6 changed files with 118 additions and 30 deletions
+9
View File
@@ -7,6 +7,9 @@
"": {
"name": "gitpub-desktop",
"version": "0.1.0",
"dependencies": {
"lucide": "^1.14.0"
},
"devDependencies": {
"@tauri-apps/cli": "^2"
}
@@ -227,6 +230,12 @@
"engines": {
"node": ">= 10"
}
},
"node_modules/lucide": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/lucide/-/lucide-1.14.0.tgz",
"integrity": "sha512-IoRC3lHwemJWvsXKcHK90hkgY4h1HGztBL63w2XwFtIu8gFDPp4/kiuqVtlN3vaM9bxsLQ4ZUBJfGsbKFaB2IA==",
"license": "ISC"
}
}
}