Proyectos de Subversion LeadersLinked - SPA

Rev

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

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