Backend: - Add dashboard API (today stats, inbox count, law alerts, pipeline status) - Add /api/documents/tree endpoint for sidebar domain/sub_group tree - Migrate auth to HttpOnly cookie for refresh token (XSS defense) - Add /api/auth/logout endpoint (cookie cleanup) - Register dashboard router in main.py Frontend (SvelteKit + Tailwind CSS v4): - api.ts: fetch wrapper with refresh queue pattern, 401 single retry, forced logout on refresh failure - Auth store: login/logout/refresh with memory-based access token - UI store: toast system, sidebar state - Login page with TOTP support - Dashboard with 4 stat widgets + recent documents - Document list with hybrid search (debounce, URL query state, mode select) - Document detail with format-aware viewer (markdown/PDF/HWP/Synology/fallback) - Metadata panel (AI summary, tags, processing history) - Inbox triage UI (batch select, confirm dialog, domain override) - Settings page (password change, TOTP status) Infrastructure: - Enable frontend service in docker-compose - Caddy path routing (/api/* → fastapi, / → frontend) + gzip Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
479 B
JSON
23 lines
479 B
JSON
{
|
|
"name": "hyungi-document-server-frontend",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview"
|
|
},
|
|
"devDependencies": {
|
|
"@sveltejs/adapter-node": "^5.0.0",
|
|
"@sveltejs/kit": "^2.0.0",
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"svelte": "^5.0.0",
|
|
"tailwindcss": "^4.0.0",
|
|
"vite": "^8.0.0"
|
|
},
|
|
"dependencies": {
|
|
"lucide-svelte": "^0.400.0",
|
|
"marked": "^15.0.0"
|
|
}
|
|
}
|