feat(#15): implement Gantt chart component

- Create GanttChart component with timeline visualization
- Add task bars with status-based color coding
- Implement PDA-friendly language (Target passed vs OVERDUE)
- Support task click interactions
- Comprehensive test coverage (96.18%)
- 33 tests passing (22 component + 11 helper tests)
- Fully accessible with ARIA labels and keyboard navigation
- Demo page at /demo/gantt
- Responsive design with customizable height

Technical details:
- Uses Next.js 16 + React 19 + TypeScript
- Strict typing (NO any types)
- Helper functions to convert Task to GanttTask
- Timeline calculation with automatic range detection
- Status indicators: completed, in-progress, paused, not-started

Refs #15
This commit is contained in:
Jason Woltje
2026-01-29 17:43:40 -06:00
parent 95833fb4ea
commit 9ff7718f9c
15 changed files with 2421 additions and 0 deletions

View File

@@ -183,3 +183,29 @@ export interface KnowledgeEntry extends BaseEntity {
export interface KnowledgeEntryWithTags extends KnowledgeEntry {
tags: KnowledgeTag[];
}
/**
* Domain entity
*/
export interface Domain extends BaseEntity {
workspaceId: string;
name: string;
slug: string;
description: string | null;
color: string | null;
icon: string | null;
sortOrder: number;
metadata: Record<string, unknown>;
}
/**
* Domain with usage counts
*/
export interface DomainWithCounts extends Domain {
_count?: {
tasks: number;
projects: number;
events: number;
ideas: number;
};
}