'use client'
import { Check } from 'lucide-react'
import { formatMinutes } from '@/lib/companion/constants'
interface PhaseTimelinePhase {
id: string
shortName: string
displayName: string
duration: number
status: string
actualTime?: number
color: string
}
interface PhaseTimelineDetailedProps {
phases: PhaseTimelinePhase[]
currentPhaseIndex: number
onPhaseClick?: (index: number) => void
}
export function PhaseTimelineDetailed({
phases,
currentPhaseIndex,
onPhaseClick,
}: PhaseTimelineDetailedProps) {
return (
Unterrichtsphasen
{phases.map((phase, index) => {
const isActive = index === currentPhaseIndex
const isCompleted = phase.status === 'completed'
const isPast = index < currentPhaseIndex
return (
{/* Top connector line */}
{index > 0 && (
)}
{index === 0 &&
}
{/* Phase Circle */}
{index < phases.length - 1 && (
)}
{index === phases.length - 1 &&
}
{/* Phase Label */}
{phase.displayName}
{/* Duration */}
{formatMinutes(phase.duration)}
{/* Actual time if completed */}
{phase.actualTime !== undefined && phase.actualTime > 0 && (
(tatsaechlich: {Math.round(phase.actualTime / 60)} Min)
)}
)
})}
)
}