Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3416 | Rev 3435 | 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 AddProfileModal from '@components/modals/AddProfileModal'
import MyProfilesList from '@components/profile/MyProfilesList'

const MyProfilesPage = () => {
  const [isShowAddModal, setIsShowAddModal] = useState(false)

  const toggleModal = () => setIsShowAddModal(!isShowAddModal)

  const labels = useSelector(({ intl }) => intl.labels)

  const { getStringParams, setParam } = useSearchQuery()
  const { data, isLoading, refetch } = useFetch(
    '/profile/my-profiles' + getStringParams()
  )

  const handleSearch = debounce((e) => setParam('search', e.target.value))

  return (
    <>
      <TitleSection
        title={labels.my_profiles}
        onAdd={toggleModal}
        addLabel={labels.add}
      />
      <Input icon={<Search />} onChange={handleSearch} variant='search' />
      <MyProfilesList
        profiles={data}
        loading={isLoading}
        onComplete={refetch}
      />
      <AddProfileModal
        show={isShowAddModal}
        getProfiles={() => refetch()}
        onHide={toggleModal}
      />
    </>
  )
}

export default MyProfilesPage