Newer
Older
import classNames from "../../../util/classNames";
type ProgressIndicatorProps = {
first?: boolean,
id: string,
name: string,
arrival: Date,
delay?: number,
cancelled: boolean
export default function ProgressIndicator(props: Readonly<ProgressIndicatorProps>) {
<li className={`relative ${!(props.first ?? false) ? "-mt-3.5" : "-mt-2"} text-sm text-zinc-300`} key={props.id}>
<div className={"flex flex-row gap-4"}>
<div className={"w-20 flex flex-row justify-center"}>
<div className="w-[.25rem] h-6 -mb-5 bg-zinc-400" aria-hidden="true" />
</div>
<div className={"flex-1"}></div>
</div>
<div className={classNames("relative flex flex-row items-center gap-4", props.cancelled ? "text-red-400" : "")}
style={{
textDecoration: props.cancelled ? "line-through" : "inherit"
}}>
<div className={"w-20 flex flex-row justify-center"}>
<span className="h-[2.6rem] flex items-center" aria-hidden="true">
<span className="relative z-10 w-[1.5rem] h-[1.5rem] flex items-center justify-center bg-zinc-400 rounded-full">
<span className="h-[1rem] w-[1rem] bg-zinc-900 rounded-full" />
</span>
</span>
</div>
<div className={"flex-1"}>
{props.name}
</div>
<div className={classNames("tabular-nums", (props.delay || props.cancelled) ? "text-red-400" : "text-zinc-300")}>
<span className={"text-red-400"}>
const renderTime = (date: Date) => {
return `${date.getHours().toString().padStart(2, "0")}:${date.getMinutes().toString().padStart(2, "0")}`