ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/llms-txt-hub / apps/web/hooks/use-search.ts

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/llms-txt-hub / apps/web/hooks/use-search.ts
DateNot specified in source
RepositoryJanady13/llms-txt-hub
Revisione0f4bf978d4df168369c7601d9c5f5ea89e84377
Branchmain
Path or archive memberapps/web/hooks/use-search.ts
Original SHA-256baea7e9154c38ae7edfbb6dfd8d0f9fa7e8bc930fc62e65f93950af4cc6debf6
Git blob SHA6426d61db53c4952d2f8bb6443d4504933f06604
Reading-copy SHA-256baea7e9154c38ae7edfbb6dfd8d0f9fa7e8bc930fc62e65f93950af4cc6debf6

Original source ↗

Recovered source transcript

'use client' import { useDebounce } from '@thedaviddias/hooks/use-debounce' import { useRouter } from 'next/navigation' import type React from 'react' import { useCallback, useState } from 'react' import { getRoute } from '@/lib/routes' /** * Hook that manages search query state and navigation to search results */ export function useSearch() { const [searchQuery, setSearchQuery] = useState('') const debouncedSearchQuery = useDebounce(searchQuery, 300) const router = useRouter() const handleSearch = useCallback( async (searchQuery: string): Promise<void> => { if (!searchQuery.trim()) return Promise.resolve() return new Promise<void>(resolve => { const searchUrl = `${getRoute('search')}?q=${encodeURIComponent(searchQuery)}` router.push(searchUrl) // Use setTimeout to give the router time to start the navigation // This is a workaround since Next.js router doesn't provide a callback setTimeout(() => { resolve() }, 100) }) }, [router] ) return { searchQuery, setSearchQuery, debouncedSearchQuery, handleSearch } }

Search equations, builds, manuscript text, and recovered sources.