better logging and delay
This commit is contained in:
@@ -8,6 +8,7 @@ export default function ChallengeList() {
|
||||
const [showResults, setShowResults] = useState([]);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [creating, setCreating] = useState(false);
|
||||
const [searchTimeout, setSearchTimeout] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
loadChallenges();
|
||||
@@ -24,19 +25,30 @@ export default function ChallengeList() {
|
||||
}
|
||||
};
|
||||
|
||||
const handleSearch = async (query) => {
|
||||
const handleSearch = (query) => {
|
||||
setSearchQuery(query);
|
||||
|
||||
// Clear previous timeout
|
||||
if (searchTimeout) {
|
||||
clearTimeout(searchTimeout);
|
||||
}
|
||||
|
||||
if (query.trim().length < 2) {
|
||||
setShowResults([]);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const data = await api.searchShows(query);
|
||||
setShowResults(data.results || []);
|
||||
} catch (err) {
|
||||
console.error('Search failed:', err);
|
||||
}
|
||||
// Debounce search by 1.5 seconds
|
||||
const timeout = setTimeout(async () => {
|
||||
try {
|
||||
const data = await api.searchShows(query);
|
||||
setShowResults(data.results || []);
|
||||
} catch (err) {
|
||||
console.error('Search failed:', err);
|
||||
}
|
||||
}, 1500);
|
||||
|
||||
setSearchTimeout(timeout);
|
||||
};
|
||||
|
||||
const handleCreateChallenge = async (show) => {
|
||||
|
||||
Reference in New Issue
Block a user