Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3432 stevensc 1
import React, { useState } from 'react'
2
import { useSelector } from 'react-redux'
3
import { Search } from '@mui/icons-material'
2864 stevensc 4
 
3432 stevensc 5
import { debounce } from '@utils'
6
import { useFetch, useSearchQuery } from '@hooks'
5 stevensc 7
 
3432 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 = () => {
3432 stevensc 14
  const [isShowAddModal, setIsShowAddModal] = useState(false)
5 stevensc 15
 
3432 stevensc 16
  const toggleModal = () => setIsShowAddModal(!isShowAddModal)
2934 stevensc 17
 
3432 stevensc 18
  const labels = useSelector(({ intl }) => intl.labels)
5 stevensc 19
 
3432 stevensc 20
  const { getStringParams, setParam } = useSearchQuery()
21
  const { data, isLoading, refetch } = useFetch(
22
    '/profile/my-profiles' + getStringParams()
23
  )
5 stevensc 24
 
3432 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
      />
3432 stevensc 34
      <Input icon={<Search />} onChange={handleSearch} variant='search' />
35
      <MyProfilesList
36
        profiles={data}
37
        loading={isLoading}
38
        onComplete={refetch}
39
      />
5 stevensc 40
      <AddProfileModal
41
        show={isShowAddModal}
2934 stevensc 42
        getProfiles={() => refetch()}
5 stevensc 43
        onHide={toggleModal}
44
      />
2934 stevensc 45
    </>
3432 stevensc 46
  )
47
}
5 stevensc 48
 
3432 stevensc 49
export default MyProfilesPage