diff --git a/src/components/dashboard/CalendarioAtendimentos.tsx b/src/components/dashboard/CalendarioAtendimentos.tsx index f1a6ea3..7abf9e4 100644 --- a/src/components/dashboard/CalendarioAtendimentos.tsx +++ b/src/components/dashboard/CalendarioAtendimentos.tsx @@ -5,15 +5,22 @@ import { CalendarIcon, UserIcon, PresentationChartBarIcon } from '@heroicons/rea export const CalendarioAtendimentos: React.FC = () => { const { data: eventos = [], isLoading, error } = useCalendarioAtendimentos(); - // Simulação de calendário mensal - const diasMes = Array.from({ length: 30 }, (_, i) => i + 1); - const mes = '06'; - const ano = '2024'; - + // Estado para mês e ano selecionados const hoje = new Date(); - const hojeStr = `${ano}-${mes}-${hoje.getDate().toString().padStart(2, '0')}`; + const [mesSelecionado, setMesSelecionado] = React.useState(hoje.getMonth() + 1); + const [anoSelecionado, setAnoSelecionado] = React.useState(hoje.getFullYear()); + const diasMes = Array.from({ length: new Date(anoSelecionado, mesSelecionado, 0).getDate() }, (_, i) => i + 1); + const mesStr = mesSelecionado.toString().padStart(2, '0'); + const anoStr = anoSelecionado.toString(); - // Separar eventos futuros/próximos e passados + // Atualiza data selecionada ao trocar mês/ano + const [dataSelecionada, setDataSelecionada] = React.useState(`${anoStr}-${mesStr}-${hoje.getDate().toString().padStart(2, '0')}`); + React.useEffect(() => { + setDataSelecionada(`${anoStr}-${mesStr}-${hoje.getDate().toString().padStart(2, '0')}`); + }, [mesSelecionado, anoSelecionado]); + + // Separar eventos futuros/próximos e passados considerando ano/mês + const hojeStr = `${anoStr}-${mesStr}-${hoje.getDate().toString().padStart(2, '0')}`; const eventosProximos = eventos .filter(ev => ev.data >= hojeStr) .sort((a, b) => a.data.localeCompare(b.data)) @@ -23,7 +30,6 @@ export const CalendarioAtendimentos: React.FC = () => { .sort((a, b) => b.data.localeCompare(a.data)) .slice(0, 10); - const [dataSelecionada, setDataSelecionada] = React.useState(hojeStr); const eventosDoDia = eventos.filter(e => e.data === dataSelecionada); if (isLoading) return