From 6cf2c693715b3564fe5d7747756333d9c13772fe Mon Sep 17 00:00:00 2001 From: AutonetSellCar Deploy Date: Wed, 31 Dec 2025 16:05:04 +0900 Subject: [PATCH] Fix loadLocalCars error handling for banner API failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wrap banner API call in try-catch to prevent entire function failure - Fall back to car.is_banner field if banner API returns error - Local Cars tab now loads even if banner API fails πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- frontend/src/app/admin/cars/page.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/admin/cars/page.tsx b/frontend/src/app/admin/cars/page.tsx index 632e02f..aaa0ac7 100644 --- a/frontend/src/app/admin/cars/page.tsx +++ b/frontend/src/app/admin/cars/page.tsx @@ -407,9 +407,16 @@ export default function CarsAdminPage() { const { data } = await api.get('/cars', { params: { page, page_size: 100, admin: true } }); const cars: LocalCar[] = data.cars || []; - // λ°°λ„ˆ λͺ©λ‘λ„ ν•¨κ»˜ λ‘œλ“œ (μˆœμ„œ 정보 포함) - const bannerResult = await heroBannersApi.adminGetBannerCars(); - const orderedBannerIds: number[] = bannerResult.car_ids || []; + // λ°°λ„ˆ λͺ©λ‘λ„ ν•¨κ»˜ λ‘œλ“œ (μˆœμ„œ 정보 포함) - μ‹€νŒ¨ν•΄λ„ μ°¨λŸ‰ λͺ©λ‘μ€ ν‘œμ‹œ + let orderedBannerIds: number[] = []; + try { + const bannerResult = await heroBannersApi.adminGetBannerCars(); + orderedBannerIds = bannerResult.car_ids || []; + } catch (bannerErr) { + console.error('Failed to load banner cars:', bannerErr); + // λ°°λ„ˆ λ‘œλ“œ μ‹€νŒ¨ μ‹œ car.is_banner ν•„λ“œ μ‚¬μš© + orderedBannerIds = cars.filter(c => c.is_banner).map(c => c.id); + } setBannerCarIds(orderedBannerIds); // λ°°λ„ˆ μ°¨λŸ‰κ³Ό λΉ„λ°°λ„ˆ μ°¨λŸ‰ 뢄리