+
{task.title}
{task.description && (
@@ -136,10 +142,12 @@ export function TaskRow({
{breadcrumb.map((part, i) => (
-
+
{i > 0 && }
- {part}
-
+
+ {part}
+
+
))}
diff --git a/src/renderer/routes/tasks.tsx b/src/renderer/routes/tasks.tsx
index 9fdb87c..afdd363 100644
--- a/src/renderer/routes/tasks.tsx
+++ b/src/renderer/routes/tasks.tsx
@@ -4,7 +4,7 @@ import { useFloatingChat } from '@/context/FloatingChatContext';
import {
ClipboardCheck,
ListTodo,
- Loader2,
+ Clock,
CheckCircle2,
Plus,
Search,
@@ -147,7 +147,7 @@ function TasksPage() {
-
-
+
{stats.inProgress}
diff --git a/src/renderer/routes/timeline.tsx b/src/renderer/routes/timeline.tsx
index d7e4ac1..cf80bfc 100644
--- a/src/renderer/routes/timeline.tsx
+++ b/src/renderer/routes/timeline.tsx
@@ -1,12 +1,13 @@
import { createFileRoute } from '@tanstack/react-router';
import { useEffect, useRef, useState, useMemo } from 'react';
-import { Plus } from 'lucide-react';
+import { Plus, ChartGantt } from 'lucide-react';
import { useFloatingChat } from '@/context/FloatingChatContext';
import { trpc } from '@/lib/trpc';
import { Button } from '@/components/ui/button';
import { GanttChart, type GanttCheckpoint } from '@/components/timeline/GanttChart';
import { AddCheckpointDialog } from '@/components/timeline/AddCheckpointDialog';
import { EditCheckpointDialog } from '@/components/timeline/EditCheckpointDialog';
+import { Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription } from '@/components/ui/empty';
export const Route = createFileRoute('/timeline')({
component: TimelinePage,
@@ -107,9 +108,17 @@ function TimelinePage() {
{/* Gantt Chart */}
{ganttCheckpoints.length === 0 ? (
-
- No checkpoints yet. Click "+ Add" to create your first milestone.
-
+
+
+
+
+
+ No milestones yet
+
+ Click "+ Add" to create your first project checkpoint.
+
+
+
) : (