index.tsx 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React, { useContext, ChangeEvent, FC } from "react";
  2. import Select from "../../forms/select";
  3. import CalendarInput from "../../forms/calendarInput";
  4. import {
  5. DispatchContext,
  6. StateContext,
  7. } from "../../../../context/dashboard/Provider";
  8. import * as actions from "../../../../context/dashboard/actions";
  9. const fincaList: string[] | number[] = ["a", "b", "c", "d"];
  10. const campaignList: string[] | number[] = ["2018", "2019", "2020", "2021"];
  11. const Cockpit: FC = () => {
  12. const dashboardState = useContext(StateContext);
  13. const dashboardDispatch = useContext(DispatchContext);
  14. return (
  15. <section className="row p-lg-4 p-md-3 p-2">
  16. <div className="col-12 col-lg-4 mb-2 col-xl-3 mb-xl-0">
  17. <Select
  18. list={fincaList}
  19. onChange={(e: ChangeEvent<HTMLInputElement>) =>
  20. console.log(e.target.value)
  21. }
  22. name="Comparación"
  23. placeholder="Fincas"
  24. />
  25. </div>
  26. <div className="col-6 col-lg-4 mb-2 col-xl-auto mb-xl-0">
  27. <CalendarInput
  28. onChange={(e: ChangeEvent<HTMLInputElement>) =>
  29. dashboardDispatch(actions.setFromControl(e.target.value))
  30. }
  31. value={dashboardState.from}
  32. name="Comparación"
  33. />
  34. </div>
  35. <div className="col-6 col-lg-4 mb-2 col-xl-auto mb-xl-0">
  36. <CalendarInput
  37. onChange={(e: ChangeEvent<HTMLInputElement>) =>
  38. dashboardDispatch(actions.setToControl(e.target.value))
  39. }
  40. value={dashboardState.to}
  41. name="Comparación"
  42. />
  43. </div>
  44. <div className="col-6 col-lg-4 mb-2 col-xl-auto mb-xl-0">
  45. <Select
  46. list={campaignList}
  47. onChange={(e: ChangeEvent<HTMLInputElement>) =>
  48. dashboardDispatch(actions.setYearControl(e.target.value))
  49. }
  50. value={dashboardState.year}
  51. name="Comparación"
  52. placeholder="Año historicos"
  53. />
  54. </div>
  55. <div className="col-auto">
  56. <button type="button" className="btn btn-primary">
  57. Aplicar
  58. </button>
  59. </div>
  60. </section>
  61. );
  62. };
  63. export default Cockpit;