From aae0706e0320d831757f9646f17e3c10dfdf4246 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sat, 7 Feb 2026 16:59:18 +0330 Subject: [PATCH] add is loading + not found --- src/shared/components/Search.tsx | 37 +++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/shared/components/Search.tsx b/src/shared/components/Search.tsx index 92bd8e5..ef6e9e3 100644 --- a/src/shared/components/Search.tsx +++ b/src/shared/components/Search.tsx @@ -7,20 +7,21 @@ import { Link } from 'react-router-dom' import { Pages } from '../../config/Pages' import { useOutsideClick } from '../../hooks/useOutSideClick' import { clx } from '../../helpers/utils' +import MoonLoader from 'react-spinners/MoonLoader' const Search: FC = () => { const { t } = useTranslation('global') const [search, setSearch] = useState('') const [showSearch, setShowSearch] = useState(false) - const { data } = useGetServiceSearch(search) + const { data, isPending } = useGetServiceSearch(search) const ref = useOutsideClick(() => { setShowSearch(false) }) useEffect(() => { - if (data?.data && data?.data?.services?.length) { + if (search.length) { setShowSearch(true) } else { setShowSearch(false) @@ -41,17 +42,27 @@ const Search: FC = () => { showSearch &&
{ - data?.data?.services?.map((item: ServiceType, index: number) => { - return ( - setShowSearch(false)} to={Pages.services.detail + item.slug} key={item.id} className={clx( - 'flex gap-3 items-center border-b pb-4', - data?.data?.services?.length === index + 1 && 'border-b-0 pb-0' - )}> - -
{item.name}
- - ) - }) + isPending ? +
+ +
+ : + data?.data?.services?.length === 0 ? +
+ نتیجه ای یافت نشد. +
+ : + data?.data?.services?.map((item: ServiceType, index: number) => { + return ( + setShowSearch(false)} to={Pages.services.detail + item.slug} key={item.id} className={clx( + 'flex gap-3 items-center border-b pb-4', + data?.data?.services?.length === index + 1 && 'border-b-0 pb-0' + )}> + +
{item.name}
+ + ) + }) }
}