import React, { createContext, useContext, useState, ReactNode } from 'react'; interface SearchContextType { searchQuery: string; setSearchQuery: (query: string) => void; isListening: boolean; setIsListening: (listening: boolean) => void; } const SearchContext = createContext({ searchQuery: '', setSearchQuery: () => {}, isListening: false, setIsListening: () => {} }); export function SearchProvider({ children }: { children: ReactNode }) { const [searchQuery, setSearchQuery] = useState(''); const [isListening, setIsListening] = useState(false); const value = { searchQuery, setSearchQuery, isListening, setIsListening }; return ( {children} ); } export const useSearch = () => { const context = useContext(SearchContext); if (!context) { throw new Error('useSearch must be used within SearchProvider'); } return context; };