fix: Use real data for conversion rate and hide low stock alert when zero
This commit is contained in:
@@ -203,7 +203,7 @@ export default function Dashboard() {
|
|||||||
revenue: { current: currentRevenue, change: undefined },
|
revenue: { current: currentRevenue, change: undefined },
|
||||||
orders: { current: currentOrders, change: undefined },
|
orders: { current: currentOrders, change: undefined },
|
||||||
avgOrderValue: { current: currentOrders > 0 ? currentRevenue / currentOrders : 0, 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 currentOrders = currentData.reduce((sum: number, d: any) => sum + d.orders, 0);
|
||||||
const previousOrders = previousData.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)
|
// Get conversion rate from real API data
|
||||||
const factor = Number(period) / 30;
|
const currentConversionRate = data?.metrics?.conversionRate?.today ?? 0;
|
||||||
const currentConversionRate = DUMMY_DATA.metrics.conversionRate.today * factor;
|
const previousConversionRate = data?.metrics?.conversionRate?.yesterday ?? 0;
|
||||||
const previousConversionRate = DUMMY_DATA.metrics.conversionRate.yesterday * factor;
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
revenue: {
|
revenue: {
|
||||||
@@ -325,14 +324,14 @@ export default function Dashboard() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Low Stock Alert Banner */}
|
{/* 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="-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 flex-col sm:flex-row sm:items-center sm:justify-between gap-3">
|
||||||
<div className="flex items-start sm:items-center 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" />
|
<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">
|
<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">
|
<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>
|
||||||
<span className="text-sm text-amber-700 dark:text-amber-300">
|
<span className="text-sm text-amber-700 dark:text-amber-300">
|
||||||
{__('Stock levels are running low')}
|
{__('Stock levels are running low')}
|
||||||
|
|||||||
Reference in New Issue
Block a user