Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3435 stevensc 1
import React, { useState } from 'react';
2
import { useSelector } from 'react-redux';
3
import { Search } from '@mui/icons-material';
2864 stevensc 4
 
3435 stevensc 5
import { debounce } from '@utils';
6
import { useFetch, useSearchQuery } from '@hooks';
5 stevensc 7
 
3435 stevensc 8
import Input from '@components/UI/inputs/Input';
9
import TitleSection from '@components/UI/TitleSection';
10
import AddProfileModal from '@components/modals/AddProfileModal';
11
import MyProfilesList from '@components/profile/MyProfilesList';
5 stevensc 12
 
13
const MyProfilesPage = () => {
3435 stevensc 14
  const [isShowAddModal, setIsShowAddModal] = useState(false);
5 stevensc 15
 
3435 stevensc 16
  const toggleModal = () => setIsShowAddModal(!isShowAddModal);
2934 stevensc 17
 
3435 stevensc 18
  const labels = useSelector(({ intl }) => intl.labels);
5 stevensc 19
 
3435 stevensc 20
  const { getStringParams, setParam } = useSearchQuery();
21
  const { data, isLoading, refetch } = useFetch('/profile/my-profiles' + getStringParams());
5 stevensc 22
 
3435 stevensc 23
  const handleSearch = debounce((e) => setParam('search', e.target.value));
5 stevensc 24
 
25
  return (
2934 stevensc 26
    <>
3435 stevensc 27
      <TitleSection title={labels.my_profiles} onAdd={toggleModal} addLabel={labels.add} />
3437 stevensc 28
      <Input
29
        icon={<Search />}
30
        onChange={handleSearch}
31
        placeholder={labels.search}
32
        variant='search'
33
        color='secondary'
34
      />
3435 stevensc 35
      <MyProfilesList profiles={data} loading={isLoading} onComplete={refetch} />
36
      <AddProfileModal show={isShowAddModal} getProfiles={() => refetch()} onHide={toggleModal} />
2934 stevensc 37
    </>
3435 stevensc 38
  );
39
};
5 stevensc 40
 
3435 stevensc 41
export default MyProfilesPage;