import { BookOpenCheckIcon, SignpostIcon, type LucideIcon } from 'lucide-react';
import { cn } from '../../lib/classname';
import type { AICourseViewMode } from './AICourseContent';
type AIRoadmapViewSwitchProps = {
viewMode: AICourseViewMode;
setViewMode: (mode: AICourseViewMode) => void;
isLoading: boolean;
variant?: 'icon' | 'text';
};
export function AIRoadmapViewSwitch(props: AIRoadmapViewSwitchProps) {
const { viewMode, setViewMode, isLoading, variant = 'icon' } = props;
return (
setViewMode('outline')}
isActive={viewMode === 'outline'}
disabled={isLoading}
variant={variant}
icon={BookOpenCheckIcon}
label="Outline"
/>
setViewMode('roadmap')}
isActive={viewMode === 'roadmap'}
disabled={isLoading}
variant={variant}
icon={SignpostIcon}
label="Roadmap"
/>
);
}
type SwitchButtonProps = {
onClick: () => void;
isActive: boolean;
disabled: boolean;
variant?: 'icon' | 'text';
icon: LucideIcon;
label: string;
};
export function SwitchButton(props: SwitchButtonProps) {
const {
onClick,
isActive,
disabled,
variant = 'icon',
icon: Icon,
label,
} = props;
return (
);
}