diff --git a/app/(app)/products/[id]/page.tsx b/app/(app)/products/[id]/page.tsx
index 3ce0e49..a428514 100644
--- a/app/(app)/products/[id]/page.tsx
+++ b/app/(app)/products/[id]/page.tsx
@@ -39,7 +39,7 @@ export default async function ProductBacklogPage({ params, searchParams }: Props
prisma.sprint.findMany({
where: { product_id: id },
orderBy: { created_at: 'desc' },
- select: { id: true, code: true, status: true },
+ select: { id: true, code: true, sprint_goal: true, status: true },
}),
prisma.user.findUnique({ where: { id: session.userId! }, select: { active_product_id: true } }),
resolveActiveSprint(id),
@@ -61,13 +61,18 @@ export default async function ProductBacklogPage({ params, searchParams }: Props
const sprintItems = allSprints.map(s => ({
id: s.id,
code: s.code,
+ sprint_goal: s.sprint_goal,
status: sprintStatusToApi(s.status),
}))
- const activeSprintItem = resolvedActiveSprint
+ const activeSprintFromList = resolvedActiveSprint
+ ? allSprints.find(s => s.id === resolvedActiveSprint.id)
+ : null
+ const activeSprintItem = activeSprintFromList
? {
- id: resolvedActiveSprint.id,
- code: resolvedActiveSprint.code,
- status: sprintStatusToApi(resolvedActiveSprint.status),
+ id: activeSprintFromList.id,
+ code: activeSprintFromList.code,
+ sprint_goal: activeSprintFromList.sprint_goal,
+ status: sprintStatusToApi(activeSprintFromList.status),
}
: null
const isActiveProduct = user?.active_product_id === id
diff --git a/components/shared/sprint-switcher.tsx b/components/shared/sprint-switcher.tsx
index a4eb9a7..d000426 100644
--- a/components/shared/sprint-switcher.tsx
+++ b/components/shared/sprint-switcher.tsx
@@ -15,7 +15,7 @@ import { cn } from '@/lib/utils'
import { setActiveSprintAction } from '@/actions/active-sprint'
import type { SprintStatusApi } from '@/lib/task-status'
-type SprintItem = { id: string; code: string; status: SprintStatusApi }
+type SprintItem = { id: string; code: string; sprint_goal: string; status: SprintStatusApi }
interface SprintSwitcherProps {
productId: string
@@ -95,16 +95,26 @@ export function SprintSwitcher({
)}
-
+
{sprints.map(s => (
handleSwitchSprint(s.id)}
className={cn(
+ 'flex items-center gap-2',
s.id === activeSprint?.id && 'bg-primary-container text-primary-container-foreground font-medium',
)}
>
- {s.code}
+ {s.code}
+ {s.sprint_goal}
+
+ {buildingSet.has(s.id) ? 'BUILDING' : SPRINT_STATUS_LABEL[s.status]}
+
))}