import { Group, Center, Text } from '@mantine/core'; import { Spotlight } from '@mantine/spotlight'; import { IconFileDescription, IconHome, IconSearch, IconSettings } from '@tabler/icons-react'; import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useDebouncedValue } from '@mantine/hooks'; import { usePageSearchQuery } from '@/features/search/queries/search-query'; export function SearchSpotlight() { const navigate = useNavigate(); const [query, setQuery] = useState(''); const [debouncedSearchQuery] = useDebouncedValue(query, 300); const { data: searchResults, isLoading, error } = usePageSearchQuery(debouncedSearchQuery) const items = (searchResults && searchResults.length > 0 ? searchResults : []) .map((item) => ( navigate(`/p/${item.id}`)}>
{item?.icon ? ( { item.icon } ) : ( )}
{item.title} {item?.highlight && ( )}
)); return ( <> } /> {query.length === 0 && items.length === 0 && Start typing to search...} {query.length > 0 && items.length === 0 && No results found...} {items.length > 0 && items} ); }