Rev 2939 | Rev 3432 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from "react";
import { useSelector } from "react-redux";
import { Search } from "@mui/icons-material";
import { debounce } from "@utils";
import { useFetch, useSearchQuery } from "@hooks";
import Input from "@components/UI/inputs/Input";
import TitleSection from "@components/UI/TitleSection";
import MyCompaniesList from "@components/company/MyCompaniesList";
import AddCompanyModal from "@components/modals/AddCompanyModal";
const MyCompanies = () => {
const [showCompanyModal, setShowCompanyModal] = useState(false);
const labels = useSelector(({ intl }) => intl.labels);
const { getStringParams, setParam } = useSearchQuery();
const {
data: companies,
loading,
refetch,
} = useFetch("/company/my-companies" + getStringParams());
const handleSearch = debounce((e) => setParam("search", e.target.value));
const toggleShowCompanyModal = () => setShowCompanyModal(!showCompanyModal);
return (
<>
<TitleSection
title={labels.my_companies}
onAdd={toggleShowCompanyModal}
addLabel={`${labels.add} ${labels.company?.toLowerCase()}`}
/>
<Input icon={<Search />} onChange={handleSearch} variant="search" />
<MyCompaniesList
companies={companies}
loading={loading}
onComplete={refetch}
/>
<AddCompanyModal
show={showCompanyModal}
onHide={toggleShowCompanyModal}
fetchCompanies={refetch}
/>
</>
);
};
export default MyCompanies;