diff --git a/src/components/reports/ReportsTablePanel.tsx b/src/components/reports/ReportsTablePanel.tsx index 8809b26..56fd498 100644 --- a/src/components/reports/ReportsTablePanel.tsx +++ b/src/components/reports/ReportsTablePanel.tsx @@ -153,6 +153,17 @@ export function ReportsTablePanel({ if (!data) return null; + const days = Array.isArray(data.days) ? data.days : []; + const clients = Array.isArray(data.clients) ? data.clients : []; + const projects = Array.isArray(data.projects) ? data.projects : []; + const tags = Array.isArray(data.tags) ? data.tags : []; + const entries = Array.isArray(dayDetails?.entries) ? dayDetails.entries : []; + const summary = data.summary ?? { + billable_duration: "00:00:00", + non_billable_duration: "00:00:00", + income_totals: [], + }; + return (
@@ -188,7 +199,7 @@ export function ReportsTablePanel({
{labels.details}
- {data.days.map((day) => { + {days.map((day) => { const isOpen = openDay === day.date; return (
@@ -229,7 +240,7 @@ export function ReportsTablePanel({ {isOpen && dayDetails?.day === day.date ? (
- {dayDetails.entries.map((entry) => ( + {entries.map((entry) => (
{entry.description || labels.noDescription} @@ -249,9 +260,9 @@ export function ReportsTablePanel({
{labels.total}
-
{labels.billableHours}: {localizeDigits(data.summary.billable_duration, lang)}
-
{labels.nonBillableHours}: {localizeDigits(data.summary.non_billable_duration, lang)}
-
{labels.totalIncome}: {formatMoneyTotals(data.summary.income_totals, lang)}
+
{labels.billableHours}: {localizeDigits(summary.billable_duration, lang)}
+
{labels.nonBillableHours}: {localizeDigits(summary.non_billable_duration, lang)}
+
{labels.totalIncome}: {formatMoneyTotals(summary.income_totals, lang)}
@@ -269,7 +280,7 @@ export function ReportsTablePanel({ - {data.days.map((day) => { + {days.map((day) => { const isOpen = openDay === day.date; return ( @@ -293,7 +304,7 @@ export function ReportsTablePanel({
- {dayDetails.entries.map((entry) => ( + {entries.map((entry) => (
{entry.description || labels.noDescription} @@ -312,10 +323,10 @@ export function ReportsTablePanel({ })} {labels.total} - {localizeDigits(data.summary.billable_duration, lang)} - {localizeDigits(data.summary.non_billable_duration, lang)} + {localizeDigits(summary.billable_duration, lang)} + {localizeDigits(summary.non_billable_duration, lang)} - - {formatMoneyTotals(data.summary.income_totals, lang)} + {formatMoneyTotals(summary.income_totals, lang)} @@ -323,9 +334,9 @@ export function ReportsTablePanel({
- - - + + +
); }