Phase 3: Graph View, Backlinks UI, Quick Switcher, Dark Mode, Export

Features:
- GraphView.vue: SVG-based force-directed graph visualization for projects
- QuickSwitcher.vue: Cmd+K modal with fuzzy search via /search API
- Dark Mode: Theme toggle in Header, persisted in localStorage, system pref support
- Backlinks UI: Incoming and outgoing links in DocumentView
- Export: Document (markdown/JSON) and Project (ZIP/JSON) export with download
- New composables: useTheme.ts for dark/light/system theme management
- New store methods: fetchBacklinks, fetchOutgoingLinks, search, exportDocument, fetchProjectGraph, exportProject
- TypeScript types for all Phase 3 API responses
This commit is contained in:
Hiro
2026-03-30 23:47:17 +00:00
parent 24925e1acb
commit f758927848
11 changed files with 1563 additions and 10 deletions

View File

@@ -3,8 +3,7 @@ import router from '@/router'
const BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8000/api/v1'
// Helper to get token - always accesses the store freshly to avoid stale closures
function getToken(): string | null {
export function getToken(): string | null {
try {
const authStore = useAuthStore()
// In Pinia setup stores, refs are auto-unwrapped on store access