Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3432 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3694 stevensc 1
import React, { useState } from 'react';
2
import { useSelector } from 'react-redux';
3
import Search from '@mui/icons-material/Search';
5 stevensc 4
 
3694 stevensc 5
import { debounce } from '@utils';
6
import { useFetch, useSearchQuery } from '@hooks';
5 stevensc 7
 
3694 stevensc 8
import Input from '@components/UI/inputs/Input';
9
import TitleSection from '@components/UI/TitleSection';
10
import MyCompaniesList from '@components/company/MyCompaniesList';
11
import AddCompanyModal from '@components/modals/AddCompanyModal';
2798 stevensc 12
 
5 stevensc 13
const MyCompanies = () => {
3694 stevensc 14
  const [showCompanyModal, setShowCompanyModal] = useState(false);
15
  const labels = useSelector(({ intl }) => intl.labels);
5 stevensc 16
 
3694 stevensc 17
  const { getStringParams, setParam } = useSearchQuery();
2798 stevensc 18
  const {
19
    data: companies,
3432 stevensc 20
    isLoading,
21
    refetch
3694 stevensc 22
  } = useFetch('/company/my-companies' + getStringParams());
5 stevensc 23
 
3694 stevensc 24
  const handleSearch = debounce((e) => setParam('search', e.target.value));
2864 stevensc 25
 
3694 stevensc 26
  const toggleShowCompanyModal = () => setShowCompanyModal(!showCompanyModal);
5 stevensc 27
 
28
  return (
2798 stevensc 29
    <>
2806 stevensc 30
      <TitleSection
31
        title={labels.my_companies}
32
        onAdd={toggleShowCompanyModal}
33
        addLabel={`${labels.add} ${labels.company?.toLowerCase()}`}
34
      />
3432 stevensc 35
      <Input icon={<Search />} onChange={handleSearch} variant='search' />
3694 stevensc 36
      <MyCompaniesList companies={companies} loading={isLoading} onComplete={refetch} />
5 stevensc 37
      <AddCompanyModal
2798 stevensc 38
        show={showCompanyModal}
5 stevensc 39
        onHide={toggleShowCompanyModal}
2798 stevensc 40
        fetchCompanies={refetch}
5 stevensc 41
      />
2798 stevensc 42
    </>
3694 stevensc 43
  );
44
};
5 stevensc 45
 
3694 stevensc 46
export default MyCompanies;