"use client"; import { useEffect, useState } from "react"; import axios from "axios"; import Cookies from "js-cookie"; import { envConfig } from "@/app/lib/config"; interface Periodo { id_periodo: number; semestre: string; fecha_inicio_servicio: string; fecha_fin_servicio: string; } export default function PeriodoPicker({ onChange, }: { onChange: (p1: Periodo | null, p2: Periodo | null) => void; }) { const [periodos, setPeriodos] = useState([]); const [p1, setP1] = useState(null); const [p2, setP2] = useState(null); const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; useEffect(() => { const fetchPeriodos = async () => { const res = await axios.get(`${envConfig.apiUrl}/periodo`, { headers }); setPeriodos(res.data); }; fetchPeriodos(); }, []); useEffect(() => { const periodo1 = periodos.find(p => p.id_periodo === p1) || null; const periodo2 = periodos.find(p => p.id_periodo === p2) || null; onChange(periodo1, periodo2); }, [p1, p2]); return (
{/* Periodo 1 */} {/* Periodo 2 */}
); }