Rev 2964 | Rev 3432 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from "react";import { useSelector } from "react-redux";import { Search } from "@mui/icons-material";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, loading } = 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" />{loading ? (<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}/>))) : (<EmptySectionalign="left"message={labels.datatable_szerorecords}/>)}</ul>)}<Paginationpages={data.total?.pages}page={data.current?.page}onChange={(newPage) => setParam("page", newPage)}/></>);};export default ImpersonatePage;