Rev 1617 | Rev 1620 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import { debounce } from '../../utils'import { Container } from '@mui/material'import { useSelector } from 'react-redux'import Spinner from '../../components/UI/Spinner'import SearchBar from '../../components/UI/SearchBar'import ProfileItem from '../../components/profile/ProfileItem'import EmptySection from '../../components/UI/EmptySection'import TitleSection from '../../components/UI/TitleSection'import LoaderContainer from '../../components/UI/LoaderContainer'import PaginationComponent from '../../components/UI/PaginationComponent'import useSearchParams from '@app/hooks/useSearchParams'import useFetch from '@app/hooks/useFetch'const ImpersonatePage = () => {const { setParams, params } = useSearchParams()const { data, isLoading } = useFetch(`/impersonate`, {}, params)const labels = useSelector(({ intl }) => intl.labels)const handleSearch = debounce((value) => setParams('keyword', value), 500)return (<Container><TitleSection title='Usuarios disponibles a personalizar' /><SearchBar onChange={handleSearch} />{isLoading ? (<LoaderContainer><Spinner /></LoaderContainer>) : (<ul className='companies-list mt-3'>{data.current.items.length > 0 ? (data.current.items.map(({ image, name, email, network, link_impersonate }, id) => (<ProfileItemisTopDatakey={id}image={image}name={name}email={email}network={network}link_impersonate={link_impersonate}/>))) : (<EmptySectionalign='left'message={labels.datatable_szerorecords}/>)}</ul>)}<PaginationComponentpages={data.total.pages}currentActivePage={data.current.page}onChangePage={(newPage) => setParams('page', newPage)}isRow/></Container>)}export default ImpersonatePage