"use client"; import { envConfig } from "@/app/lib/config"; import { useEffect, useState } from "react"; import { usePathname, useRouter, useSearchParams } from "next/navigation"; import axios from "axios"; import Cookies from "js-cookie"; interface Area { id_area_ubicacion: number; area: string; extra: string; } interface Props { onSearch: (id: number) => void; } export default function SelectorSala({ onSearch }: Props) { const [sala, setSala] = useState([]); const searchParams = useSearchParams(); const pathname = usePathname(); const router = useRouter(); const paramSala = Number(searchParams.get("sala")) || 0; const [selected, setSelected] = useState(paramSala); useEffect(() => { setSelected(paramSala); onSearch(paramSala); }, [paramSala]); const handleChangeEquipo = (e: React.ChangeEvent) => { const value = Number(e.target.value); setSelected(value); onSearch(value); const params = new URLSearchParams(searchParams.toString()); if (value === 0) { params.delete("sala"); } else { params.set("sala", String(value)); } router.push(`${pathname}?${params.toString()}`); }; useEffect(() => { const token = Cookies.get("token"); const headers = { Authorization: `Bearer ${token}` }; const fetchData = async () => { const response = await axios.get(`${envConfig.apiUrl}/area-ubicacion`, { headers }, ); setSala(response.data); }; fetchData(); }, []); return (
); } //IO