From 26c79037c2a49f9e1bfd42fe3b28047a11a3fe80 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 18 Apr 2026 01:42:56 +0300 Subject: [PATCH] Isolate companies fetch to fix empty dropdown --- frontend/src/pages/invoices/InvoicesPage.tsx | 29 ++++++++++++-------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/frontend/src/pages/invoices/InvoicesPage.tsx b/frontend/src/pages/invoices/InvoicesPage.tsx index c585966..790cc11 100644 --- a/frontend/src/pages/invoices/InvoicesPage.tsx +++ b/frontend/src/pages/invoices/InvoicesPage.tsx @@ -36,18 +36,25 @@ export const InvoicesPage = () => { const [isUploading, setIsUploading] = useState(false); const fetchData = async () => { + setIsLoading(true); try { - setIsLoading(true); - const [invRes, compRes] = await Promise.all([ - apiClient.get('/invoices'), - apiClient.get('/companies') - ]); - console.log('Fetched Invoices:', invRes.data); - console.log('Fetched Companies:', compRes.data); - setInvoices(invRes.data); - setCompanies(compRes.data); - } catch (error) { - console.error('Failed to fetch data', error); + // Fetch companies first so the dropdown always works + try { + const compRes = await apiClient.get('/companies'); + console.log('Fetched Companies:', compRes.data); + setCompanies(compRes.data); + } catch (err) { + console.error('Failed to fetch companies', err); + } + + // Fetch invoices separately + try { + const invRes = await apiClient.get('/invoices'); + console.log('Fetched Invoices:', invRes.data); + setInvoices(invRes.data); + } catch (err) { + console.error('Failed to fetch invoices', err); + } } finally { setIsLoading(false); }