diff --git a/apps/web/src/components/dashboard/HomeSalesTrend.vue b/apps/web/src/components/dashboard/HomeSalesTrend.vue index 2c8a8cc..6a4c9b0 100644 --- a/apps/web/src/components/dashboard/HomeSalesTrend.vue +++ b/apps/web/src/components/dashboard/HomeSalesTrend.vue @@ -27,9 +27,9 @@ const option = computed(() => ({ tooltip: { trigger: 'axis', textStyle: { fontFamily: 'IRANSans, Tahoma, sans-serif' }, - formatter: (params) => { + formatter: (params: { dataIndex?: number } | Array<{ dataIndex?: number }>) => { const row = Array.isArray(params) ? params[0] : params; - const point = trend.value[row.dataIndex ?? 0]; + const point = trend.value[row?.dataIndex ?? 0]; if (!point) return ''; return `${point.monthLabel}
${props.formatAmount(point.amount)}`; }, diff --git a/apps/web/src/components/dashboard/HomeSourcesChart.vue b/apps/web/src/components/dashboard/HomeSourcesChart.vue index 721786b..308a831 100644 --- a/apps/web/src/components/dashboard/HomeSourcesChart.vue +++ b/apps/web/src/components/dashboard/HomeSourcesChart.vue @@ -27,9 +27,13 @@ const option = computed(() => ({ tooltip: { trigger: 'item', textStyle: { fontFamily: 'IRANSans, Tahoma, sans-serif' }, - formatter: (p) => { + formatter: ( + p: + | { name?: string; value?: number; percent?: number } + | Array<{ name?: string; value?: number; percent?: number }>, + ) => { const item = Array.isArray(p) ? p[0] : p; - return `${item.name}
${toFaDigits(Number(item.value ?? 0))} — ${toFaDigits(item.percent ?? 0)}٪`; + return `${item?.name ?? ''}
${toFaDigits(Number(item?.value ?? 0))} — ${toFaDigits(item?.percent ?? 0)}٪`; }, }, series: [