- 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>
27 lines
562 B
YAML
27 lines
562 B
YAML
extends: eslint:recommended
|
|
env:
|
|
node: true
|
|
browser: true
|
|
rules:
|
|
block-scoped-var: 2
|
|
callback-return: 2
|
|
dot-notation: 2
|
|
indent: 2
|
|
linebreak-style: [2, unix]
|
|
new-cap: 2
|
|
no-console: [2, allow: [warn, error]]
|
|
no-else-return: 2
|
|
no-eq-null: 2
|
|
no-fallthrough: 2
|
|
no-invalid-this: 2
|
|
no-return-assign: 2
|
|
no-shadow: 1
|
|
no-trailing-spaces: 2
|
|
no-use-before-define: [2, nofunc]
|
|
quotes: [2, single, avoid-escape]
|
|
semi: [2, always]
|
|
strict: [2, global]
|
|
valid-jsdoc: [2, requireReturn: false]
|
|
no-control-regex: 0
|
|
no-useless-escape: 2
|