import React, { useContext, useState, useEffect, ChangeEvent, FC, useMemo, } from "react"; import Select from "../../forms/select"; import CalendarInput from "../../forms/calendarInput"; import { DispatchContext, StateContext, } from "../../../../context/dashboard/Provider"; import * as actions from "../../../../context/dashboard/actions"; import { sectors } from "../../../../api"; import { UserStateContext } from "../../../../context/auth/AuthProvider"; import { Station } from "../../../../types"; import { campMaxMin, campString, getCampList, mustCheckDateOrder } from "../../../../utils"; import Modal from "../../../portals/modal"; const Cockpit: FC = () => { const [error, setError] = useState(null); const dashboardState = useContext(StateContext); const dashboardDispatch = useContext(DispatchContext); const userState = useContext(UserStateContext); const [sectorList, setSectorList] = useState([]); // Opciones para selector de campania const selectedCampaignYear = dashboardState.year; const campaignList = dashboardState.years.map((v, _) => ({ title: v, value: v })); // Inicializacion del selector de fincas useEffect(() => { const token = userState.userToken; if (!token) return; sectors(token).then((list) => { setSectorList(list); if (list.length > 0) { dashboardDispatch(actions.setSector(list[0].station_code)); } }); }, []); const sectorChoices = useMemo( () => sectorList.map(({ title, station_code }) => ({ title, value: station_code, })), [sectorList] ); const handleCampChange = (e: ChangeEvent) => { const camp = campMaxMin(e.target.value); dashboardDispatch(actions.setMinMaxDate(camp.min, camp.max)); dashboardDispatch(actions.setYearControl(e.target.value)); }; const handleFromChange = (e: ChangeEvent) => { try { mustCheckDateOrder(e.target.value, dashboardState.to); } catch (e) { setError(e as any); return; } return dashboardDispatch(actions.setFromControl(e.target.value)); }; const handleToChange = (e: ChangeEvent) => { try { mustCheckDateOrder(dashboardState.from, e.target.value); } catch (e) { setError(e as any); return; } return dashboardDispatch(actions.setToControl(e.target.value)); }; return ( <> {error && ( setError(null)} >

{error.toString()}

)}
{/* Finca */}
{/* Desde */}
{/* Hasta */}
Temporada {campString(dashboardState.from, dashboardState.to, true)}
); }; export default Cockpit;