Rev 3694 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';import Search from '@mui/icons-material/Search';import { useSelector } from 'react-redux';import { debounce } from '@utils';import { useFetch, useSearchQuery } from '@hooks';import Spinner from '../../components/UI/Spinner';import Input from '../../components/UI/inputs/Input';import ProfileItem from '../../components/profile/ProfileItem';import EmptySection from '../../components/UI/EmptySection';import TitleSection from '../../components/UI/TitleSection';import Pagination from '@components/common/Pagination';const ImpersonatePage = () => {const { getParam, setParam } = useSearchQuery();const { data, isLoading } = useFetch('/impersonate?search=' + getParam('search'));const labels = useSelector(({ intl }) => intl.labels);const handleSearch = debounce((value) => setParam('keyword', value), 500);return (<><TitleSection title='Usuarios disponibles a personalizar' /><Input icon={<Search />} onChange={handleSearch} variant='search' />{isLoading ? (<Spinner />) : (<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}/>))) : (<EmptySection align='left' message={labels.datatable_szerorecords} />)}</ul>)}<Paginationpages={data.total?.pages}page={data.current?.page}onChange={(newPage) => setParam('page', newPage)}/></>);};export default ImpersonatePage;