fix: Use real data for conversion rate and hide low stock alert when zero

This commit is contained in:
dwindown
2025-11-04 18:57:28 +07:00
parent a2dd6a98a3
commit 919ce8684f

View File

@@ -203,7 +203,7 @@ export default function Dashboard() {
revenue: { current: currentRevenue, change: undefined },
orders: { current: currentOrders, change: undefined },
avgOrderValue: { current: currentOrders > 0 ? currentRevenue / currentOrders : 0, change: undefined },
conversionRate: { current: DUMMY_DATA.metrics.conversionRate.today, change: undefined },
conversionRate: { current: data?.metrics?.conversionRate?.today ?? 0, change: undefined },
};
}
@@ -215,10 +215,9 @@ export default function Dashboard() {
const currentOrders = currentData.reduce((sum: number, d: any) => sum + d.orders, 0);
const previousOrders = previousData.reduce((sum: number, d: any) => sum + d.orders, 0);
// Calculate conversion rate from period data (simplified)
const factor = Number(period) / 30;
const currentConversionRate = DUMMY_DATA.metrics.conversionRate.today * factor;
const previousConversionRate = DUMMY_DATA.metrics.conversionRate.yesterday * factor;
// Get conversion rate from real API data
const currentConversionRate = data?.metrics?.conversionRate?.today ?? 0;
const previousConversionRate = data?.metrics?.conversionRate?.yesterday ?? 0;
return {
revenue: {
@@ -325,14 +324,14 @@ export default function Dashboard() {
</div>
{/* Low Stock Alert Banner */}
{DUMMY_DATA.lowStock.length > 0 && (
{(data?.lowStock?.length ?? 0) > 0 && (
<div className="-mx-6 px-4 md:px-6 py-3 bg-amber-50 dark:bg-amber-950/20 border-y border-amber-200 dark:border-amber-900/50">
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3">
<div className="flex items-start sm:items-center gap-3">
<AlertTriangle className="w-5 h-5 text-amber-600 dark:text-amber-500 flex-shrink-0 mt-0.5 sm:mt-0" />
<div className="flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2 w-full shrink">
<span className="font-medium text-amber-900 dark:text-amber-100">
{DUMMY_DATA.lowStock.length} {__('products need attention')}
{data?.lowStock?.length ?? 0} {__('products need attention')}
</span>
<span className="text-sm text-amber-700 dark:text-amber-300">
{__('Stock levels are running low')}