Merge develop to main #1
@@ -75,7 +75,7 @@ function AccountingOverview() {
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
api.get('/accounting/overview').then((r) => setData(r.data.data || r.data)).catch(() => {}).finally(() => setLoading(false));
|
||||
api.get('/accounting/overview').then((r) => setData(r.data.data ?? null)).catch(() => {}).finally(() => setLoading(false));
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
@@ -226,7 +226,7 @@ function TrialBalance({ onAccountClick }: { onAccountClick: (accountId: string)
|
||||
const [selectedAccount, setSelectedAccount] = useState<TrialBalanceItem | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
api.get('/accounting/trial-balance').then((r) => setData(r.data.data || r.data)).catch(() => {});
|
||||
api.get('/accounting/trial-balance').then((r) => setData(r.data.data ?? [])).catch(() => {});
|
||||
}, []);
|
||||
|
||||
const totalDebit = data.reduce((s, a) => s + a.debit, 0);
|
||||
@@ -332,7 +332,7 @@ function AccountBreakdownModal({
|
||||
if (!open) return;
|
||||
setLoading(true);
|
||||
api.get(`/accounting/general-ledger?accountId=${account.id}`)
|
||||
.then((r) => setEntries(r.data.data || r.data))
|
||||
.then((r) => setEntries(r.data.data ?? []))
|
||||
.catch(() => setEntries([]))
|
||||
.finally(() => setLoading(false));
|
||||
}, [open, account.id]);
|
||||
@@ -454,7 +454,7 @@ function GeneralLedger({ initialAccountId, onClearAccountFilter }: { initialAcco
|
||||
const [dateTo, setDateTo] = useState('');
|
||||
|
||||
useEffect(() => {
|
||||
api.get('/accounting/general-ledger').then((r) => setEntries(r.data.data || r.data)).catch(() => {});
|
||||
api.get('/accounting/general-ledger').then((r) => setEntries(r.data.data ?? [])).catch(() => {});
|
||||
}, []);
|
||||
|
||||
// When initialAccountId changes (clicked from trial balance), update filter
|
||||
|
||||
@@ -217,7 +217,7 @@ function SubmitRemittanceModal({ open, onClose, onSuccess }: { open: boolean; on
|
||||
useEffect(() => {
|
||||
if (!open) return;
|
||||
setSelected(new Set()); setNotes(''); setLoading(true);
|
||||
api.get('/payments/unremitted').then((r) => setPayments(r.data.data || r.data))
|
||||
api.get('/payments/unremitted').then((r) => setPayments(r.data.data ?? []))
|
||||
.catch(() => toast('Failed to load unremitted payments', 'error'))
|
||||
.finally(() => setLoading(false));
|
||||
}, [open, toast]);
|
||||
|
||||
@@ -238,7 +238,7 @@ function CompanyOverview() {
|
||||
api.get('/dashboard/financial-summary').then((r) => setFinancial(r.data.data)).catch(() => {}),
|
||||
api.get('/dashboard/revenue-chart').then((r) => setRevenue(r.data.data ?? [])).catch(() => {}),
|
||||
api.get('/payments/unremitted').then((r) => {
|
||||
const payments = r.data.data || r.data || [];
|
||||
const payments = Array.isArray(r.data.data) ? r.data.data : [];
|
||||
setUnremitted({
|
||||
total: payments.reduce((s: number, p: any) => s + Number(p.amount), 0),
|
||||
count: payments.length,
|
||||
|
||||
Reference in New Issue
Block a user