import { PopoverContent } from '@/components/ui/popover'; import { useEffect, useState } from 'react'; import { ScheduleCreateContent } from './content/ScheduleCreateContent'; import { ScheduleListContent } from './content/ScheduleListContent'; import { ScheduleDetailContent } from './content/ScheduleDetailContent'; interface ScheduleSheetProps { date: Date | undefined; open: boolean; popoverSide: 'left' | 'right'; popoverAlign: 'start' | 'end'; } export const SchedulePopover = ({ date, open, popoverSide, popoverAlign }: ScheduleSheetProps) => { const [mode, setMode] = useState<'list' | 'create' | 'detail' | 'update'>('list'); const [detailId, setDetailId] = useState(''); useEffect(() => { if (!open) { setTimeout(() => { setMode('list'); }, 150); } }, [open]); const DetailContent = () => { return (
Detail
) } const UpdateContent = () => { return (
Update
) } const SchedulePopoverContent = () => { switch(mode) { case 'list': return case 'create': return case 'detail': return case 'update': return } } return ( {} ) }