Add side panels, task selection, graph animation, and project docs

- Foldable left panel (user profile) and right panel (task details)
- Clicking a task in the list or graph node selects it and shows details
- Both views (task list + graph) always mounted via absolute inset-0 for
  correct canvas dimensions; tabs toggle visibility with opacity
- Graph node selection animation: other nodes repel outward (charge -600),
  then selected node smoothly slides to center (500ms cubic ease-out),
  then charge restores to -120 and graph stabilizes
- Graph re-fits on tab switch and panel resize via ResizeObserver
- Fix UUID string IDs throughout (backend returns UUIDs, not integers)
- Add TaskDetailPanel, UserPanel components
- Add CLAUDE.md project documentation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alvis
2026-04-08 11:23:06 +00:00
parent 5c7edd4bbc
commit f1d51b8cc8
23998 changed files with 3242708 additions and 0 deletions

35
frontend/package.json Normal file
View File

@@ -0,0 +1,35 @@
{
"name": "taskpile-frontend",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"test": "jest",
"test:unit": "jest --testPathPattern=unit",
"test:e2e": "jest --testPathPattern=e2e"
},
"dependencies": {
"next": "14.2.3",
"react": "^18",
"react-dom": "^18",
"react-force-graph-2d": "^1.25.5"
},
"devDependencies": {
"typescript": "^5",
"@types/react": "^18",
"@types/react-dom": "^18",
"@types/node": "^20",
"tailwindcss": "^3",
"postcss": "^8",
"autoprefixer": "^10",
"jest": "^29",
"@testing-library/react": "^14",
"@testing-library/jest-dom": "^6",
"@testing-library/user-event": "^14",
"jest-environment-jsdom": "^29",
"@types/jest": "^29",
"ts-jest": "^29"
}
}