Rev 3719 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect, useState } from 'react';import { Box } from '@mui/material';import { useDebounce } from '@hooks';import { useAlert, useApi } from '@shared/hooks';import { searchUsers } from '@shared/services';import { List, ListItem, SearchBar, Spinner } from '@shared/components';export const SearchUserModal = ({ onSelect = () => {}, renderAction }) => {const [search, setSearch] = useState('');const debouncedSearch = useDebounce(search, 500);const { showError } = useAlert();const { data, loading, execute } = useApi(searchUsers, {onError: (error) => showError(error.message)});console.log({ renderAction });useEffect(() => {execute(debouncedSearch);}, [debouncedSearch]);return (<Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}><SearchBarlabel='Busca un usuario'placeholder='Escribe el nombre del usuario'onChange={setSearch}value={search}/>{loading ? (<Spinner />) : (<Listitems={data?.current?.items ?? []}keyExtractor={(item) => item.uuid}renderItem={(item) => (<ListItemtitle={item.name}image={item.image}onClick={() => onSelect(item)}renderAction={renderAction ? () => renderAction(item) : undefined}/>)}emptyMessage='No se encontraron usuarios'/>)}</Box>);};