"use client" import { LogoFull } from "@ui/assets/Logo" import { cn } from "@lib/utils" import { dmSansClassName } from "@/lib/fonts" import { motion } from "motion/react" import { BRAIN_STEPS, BRAIN_STEP_LABELS, type BrainStep } from "./types" interface ShellProps { step: BrainStep domain?: string | null steps?: BrainStep[] children: React.ReactNode } export function BrainShell({ step, steps, children }: ShellProps) { const visibleSteps: BrainStep[] = steps ?? BRAIN_STEPS return (
{children}
) } function StepIndicator({ step, visibleSteps, }: { step: BrainStep visibleSteps: BrainStep[] }) { const currentIdx = visibleSteps.indexOf(step) return (
{visibleSteps.map((s, i) => { const isDone = i < currentIdx const isCurrent = i === currentIdx const isLast = i === visibleSteps.length - 1 return (
{BRAIN_STEP_LABELS[s]}
{!isLast && (
)}
) })}
) } function StepDot({ done, current }: { done: boolean; current: boolean }) { if (current) { return (
) } if (done) { return (
) } return (
) }