From 0c65919b0287e764fd602a558daca4b77077c10b Mon Sep 17 00:00:00 2001 From: Randall Stillwell Date: Tue, 22 Jul 2025 20:31:36 -0500 Subject: [PATCH] Fix CardDatabaseBrowser issues - prevent drawer closing, add event handling, and improve debugging --- src/components/cards/CardDatabaseBrowser.tsx | 90 +++++++++++++++++--- src/services/cardDataSources.ts | 21 ++++- 2 files changed, 100 insertions(+), 11 deletions(-) diff --git a/src/components/cards/CardDatabaseBrowser.tsx b/src/components/cards/CardDatabaseBrowser.tsx index da7fc6e..ef86868 100644 --- a/src/components/cards/CardDatabaseBrowser.tsx +++ b/src/components/cards/CardDatabaseBrowser.tsx @@ -41,23 +41,36 @@ const CardDatabaseBrowser: React.FC = ({ setIsSearching(true); try { const cards = await cardDataService.searchCards(debouncedSearch, selectedGame || undefined); + console.log(`Found ${cards.length} cards for search "${debouncedSearch}" in game "${selectedGame}"`); return cards; + } catch (error) { + console.error('Error searching external cards:', error); + return []; } finally { setIsSearching(false); } }, enabled: !!debouncedSearch.trim() && isOpen, staleTime: 5 * 60 * 1000, // 5 minutes + retry: 2, }); // Get random cards for discovery const { data: randomCards = [] } = useQuery({ queryKey: ['random-cards', selectedGame], queryFn: async () => { - return await cardDataService.getRandomCards(12, selectedGame || undefined); + try { + const cards = await cardDataService.getRandomCards(20, selectedGame || undefined); + console.log(`Found ${cards.length} random cards for game "${selectedGame}"`); + return cards; + } catch (error) { + console.error('Error fetching random cards:', error); + return []; + } }, enabled: isOpen && !debouncedSearch.trim(), staleTime: 10 * 60 * 1000, // 10 minutes + retry: 2, }); // Add card to database mutation @@ -141,11 +154,26 @@ const CardDatabaseBrowser: React.FC = ({ const displayCards = debouncedSearch.trim() ? externalCards : randomCards; const isLoading = isSearchingExternal || isSearching; + + // Debug logging + console.log('CardDatabaseBrowser state:', { + isOpen, + searchTerm, + debouncedSearch, + selectedGame, + externalCards: externalCards.length, + randomCards: randomCards.length, + displayCards: displayCards.length, + isLoading + }); return ( <>
-
+
e.stopPropagation()} + >
@@ -155,7 +183,12 @@ const CardDatabaseBrowser: React.FC = ({ Card Database Browser