diff --git a/packages/frontend/src/pages/Timeline.tsx b/packages/frontend/src/pages/Timeline.tsx
index 2fc1c41..14d306c 100644
--- a/packages/frontend/src/pages/Timeline.tsx
+++ b/packages/frontend/src/pages/Timeline.tsx
@@ -10,6 +10,7 @@ import { useSelection } from "@/components/selection-provider";
import { SprintForm } from "@/components/sprint-form";
import StatusTag from "@/components/status-tag";
import TopBar from "@/components/top-bar";
+import { Button } from "@/components/ui/button";
import { ResizablePanel, ResizablePanelGroup } from "@/components/ui/resizable";
import { BREATHING_ROOM } from "@/lib/layout";
import {
@@ -238,13 +239,7 @@ export default function Timeline() {
)}
- {selectedOrganisationId && selectedProjectId && sprints.length === 0 && (
-
- No sprints yet. Create a sprint from the organisations menu to start planning work.
-
- )}
-
- {selectedOrganisationId && selectedProjectId && sprints.length > 0 && (
+ {selectedOrganisationId && selectedProjectId && (
-
-
-
-
- {weeks.map((week, index) => (
-
- {formatWeekLabel(week)}
-
- ))}
-
-
- {sprints.map((sprint, sprintIndex) => {
- const sprintIssues = issueGroup.issuesBySprint.get(sprint.id) ?? [];
- const barStyle = getSprintBarStyle(sprint);
- const showTodayLabel = sprintIndex === 0;
- return (
-
-
-
-
-
-
- {weeks.map((week, index) => (
-
- ))}
-
- {todayMarker && (
-
-
- {showTodayLabel && (
-
-
- TODAY
-
-
- )}
-
- )}
- {barStyle && (
-
- }
- />
- )}
-
-
- );
- })}
-
-
+ {sprints.length > 0 ? (
+
+
+
-
+ {weeks.map((week, index) => (
+
+ {formatWeekLabel(week)}
+
+ ))}
+
+
+ {sprints.map((sprint, sprintIndex) => {
+ const sprintIssues = issueGroup.issuesBySprint.get(sprint.id) ?? [];
+ const barStyle = getSprintBarStyle(sprint);
+ const showTodayLabel = sprintIndex === 0;
+ return (
+
+
+
+
+
+
+ {weeks.map((week, index) => (
+
+ ))}
+
+ {todayMarker && (
+
+
+ {showTodayLabel && (
+
+
+ TODAY
+
+
+ )}
+
+ )}
+ {barStyle && (
+
+ }
+ />
+ )}
+
+
+ );
+ })}
+
+
-
-
+
+ ) : (
+
+ No sprints yet...
+ Create a sprint}
+ />
+
+ )}
)}
@@ -399,7 +409,7 @@ function SprintLabelContent({
<>
- Backlog
+ Backlog
{issueGroup.unassigned.length === 0 && (
No unassigned issues.
)}
@@ -466,12 +476,12 @@ function IssueLine({ issue, statusColour }: { issue: IssueResponse; statusColour
}