93a3beb5d6
Replaces every hand-inlined SVG in the chrome (60 across 15 files) with Lucide components. Snaps icon sizes to the doc's 16/24 scale — all icons in this pass land at 16. AppLogo wordmark stays as the legitimate "custom app icon" exception per the doc; GraphView's <svg> mount point for D3 stays as well. Replaces emoji-as-icons in clear button-affordance cases with their Lucide equivalents: ✕ → X (close/dismiss buttons across 8 files), ✓ → Check (ProjectView task-advance button), 🎤 → Mic (ChatPanel voice CTA), 📎 → Paperclip (ChatView context toggle), ↑ → ArrowUp (ChatInputBar Send), × → X (ChatPanel context-note remove), ☀/☾ → Sun/Moon (AppHeader theme toggle). Inline emoji punctuation in textual confirmation copy ("Saved ✓", "Created ✓", `done: "✓"` status maps, `'✓' : '📄'` interpolations) is left for surface-phase voice/tone touchups — replacing requires structural template changes and is best done per-component. Stroke weight stays at Lucide's default 2px; tightening to the doc's 1.5/1 is deferred per the surface-phase spec (option ii: drop-in + scale enforcement). Adds lucide-vue-next ^0.469.0 to frontend/package.json. Docker rebuild handles the install. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
44 lines
1.1 KiB
JSON
44 lines
1.1 KiB
JSON
{
|
|
"name": "fabledassistant-frontend",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc --noEmit && vite build",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@fullcalendar/core": "^6.1.20",
|
|
"@fullcalendar/daygrid": "^6.1.20",
|
|
"@fullcalendar/interaction": "^6.1.20",
|
|
"@fullcalendar/timegrid": "^6.1.20",
|
|
"@fullcalendar/vue3": "^6.1.20",
|
|
"@ricky0123/vad-web": "^0.0.30",
|
|
"@tiptap/core": "^3.0.0",
|
|
"@tiptap/extension-link": "^3.0.0",
|
|
"@tiptap/extension-list": "^3.0.0",
|
|
"@tiptap/extensions": "^3.0.0",
|
|
"@tiptap/pm": "^3.0.0",
|
|
"@tiptap/starter-kit": "^3.0.0",
|
|
"@tiptap/suggestion": "^3.0.0",
|
|
"@tiptap/vue-3": "^3.0.0",
|
|
"d3": "^7",
|
|
"dompurify": "^3.1.0",
|
|
"lucide-vue-next": "^0.469.0",
|
|
"marked": "^17.0.0",
|
|
"pinia": "^3.0.0",
|
|
"vue": "3.5.30",
|
|
"vue-router": "^5.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/d3": "^7",
|
|
"@types/dompurify": "^3.0.0",
|
|
"@vitejs/plugin-vue": "^6.0.0",
|
|
"typescript": "~5.9.0",
|
|
"vite": "^7.0.0",
|
|
"vite-plugin-static-copy": "^4.0.1",
|
|
"vue-tsc": "^3.0.0"
|
|
}
|
|
}
|