Skip to content

PR 3: Timeline / Gantt View #42

@Musiker15

Description

@Musiker15

Context

Phase 5 hat Timeline-View nach Phase 6 verschoben — diese Issue baut sie. USP §5.5.

Scope

Neue Route /workspaces/[wsId]/boards/[boardId]/timeline neben den existing kalender/table/analytics. Render: horizontaler Gantt-Chart, Y-Achse gruppiert nach Milestone (Cards ohne Milestone → "Ohne Milestone" am Ende), X-Achse Zeitlinie mit Tag-Auflösung. Cards mit startAt + dueAt werden als Balken gerendert; Cards mit nur dueAt als Diamond auf dem Stichtag; Cards ohne beides werden nicht angezeigt (mit Hint "X cards haben keine Daten und sind nicht in der Timeline").

Rendering options

  1. eigenes SVG-Rendering — flexibel, kein Dep-Footprint, ~300 LOC
  2. frappe-gantt o.ä. — fertig aber zusätzliches Dep
  3. recharts mit eigenen Shape-Renderern — schon installiert, aber Gantt ist nicht der Sweet-Spot von recharts

Empfehlung: Option 1 (eigenes SVG) — Gantt ist nicht so kompliziert dass es sich lohnt eine Library für 800 LOC Komplexität reinzuziehen. Tailwind-only.

Files

  • Neue Route src/app/(app)/workspaces/[wsId]/boards/[boardId]/timeline/page.tsx
  • Neue Komponente timeline/timeline-view.tsx
  • Re-use Milestone-Decryption-Logic aus card-drawer

Test plan

  • Cards mit start+due rendern als Balken in richtiger Range
  • Cards nur mit due rendern als Diamond
  • Cards ohne Dates werden ignoriert + Footer-Hint zeigt Count
  • Group by Milestone: Milestone-Header + Cards drunter
  • Heute-Linie (vertikal) sichtbar
  • Zoom-Levels (Day / Week / Month) toggle-bar
  • Keyboard: Pfeiltasten panen die Range, +/- zoomen (WCAG)
  • Empty state: kein Card hat Dates → Big-Empty-State mit CTA

Estimate

~3-4 h. Hauptarbeit: SVG-Rendering, Zoom-Levels, Datums-Math.

Blocked-by: keine direkt, aber Milestones aus #39 sind nice-to-have für die Gruppierung.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions