diff --git a/src/app/panic/page.tsx b/src/app/panic/page.tsx index 67b056f..cacca66 100644 --- a/src/app/panic/page.tsx +++ b/src/app/panic/page.tsx @@ -70,9 +70,10 @@ export default function PanicPage() { setFetchingSuggestions(true); try { const res = await fetch(`/api/location/suggest?keywords=${encodeURIComponent(query)}`); + if (!res.ok) { setSuggestions([]); setShowSuggestions(false); return; } const data: LocationSuggestion[] = await res.json(); - setSuggestions(data); - setShowSuggestions(data.length > 0); + setSuggestions(Array.isArray(data) ? data : []); + setShowSuggestions(Array.isArray(data) && data.length > 0); } catch { setSuggestions([]); } finally { diff --git a/src/app/profile/page.tsx b/src/app/profile/page.tsx index ac5d760..b980046 100644 --- a/src/app/profile/page.tsx +++ b/src/app/profile/page.tsx @@ -93,15 +93,15 @@ export default function ProfilePage() { setHistoryLoading(true); fetch(`/api/user/history?userId=${userId}`) - .then((r) => r.json()) - .then(setHistory) + .then((r) => { if (!r.ok) throw new Error(); return r.json(); }) + .then((data) => setHistory(Array.isArray(data) ? data : [])) .catch(() => {}) .finally(() => setHistoryLoading(false)); setFavLoading(true); fetch(`/api/user/favorite?userId=${userId}`) - .then((r) => r.json()) - .then(setFavorites) + .then((r) => { if (!r.ok) throw new Error(); return r.json(); }) + .then((data) => setFavorites(Array.isArray(data) ? data : [])) .catch(() => {}) .finally(() => setFavLoading(false)); }, [userId]);