Tina / src /DataCard.js
KyleAIers's picture
Create DataCard.js
621df6e verified
Raw History Blame Contribute Delete
2.55 kB
export const DataResponseCard = ({ data }) => {
if (data.type === 'inventory') {
return (
<div className="space-y-3">
<p className="text-slate-200">Current store inventory details:</p>
<div className="grid grid-cols-2 gap-2 text-xs">
<div className="bg-slate-900 p-2.5 rounded-lg border border-slate-700">
<span className="text-slate-400 block">Product Lines</span>
<span className="text-lg font-bold text-emerald-400">{data.productCount}</span>
</div>
<div className="bg-slate-900 p-2.5 rounded-lg border border-slate-700">
<span className="text-slate-400 block">Total Units</span>
<span className="text-lg font-bold text-emerald-400">{data.totalUnits}</span>
</div>
</div>
<div className="bg-slate-900 rounded-lg p-3 border border-slate-700 space-y-1 text-xs">
<div className="font-semibold text-slate-300 mb-1">Items List</div>
{data.products.length === 0 ? (
<p className="text-slate-500">No products found in database.</p>
) : (
data.products.map(p => (
<div key={p.id || p.product_name} className="flex justify-between py-1 border-b border-slate-800 last:border-0">
<span>{p.product_name}</span>
<span className="text-slate-400">{p.stock_quantity} in stock (₱{p.price})</span>
</div>
))
)}
</div>
</div>
);
}
if (data.type === 'sales') {
return (
<div className="space-y-3">
<p className="text-slate-200">Sales metrics summary:</p>
<div className="grid grid-cols-3 gap-2 text-xs">
<div className="bg-slate-900 p-2.5 rounded-lg border border-slate-700">
<span className="text-slate-400 block">Revenue</span>
<span className="text-sm font-bold text-emerald-400">₱{data.totalRev.toFixed(2)}</span>
</div>
<div className="bg-slate-900 p-2.5 rounded-lg border border-slate-700">
<span className="text-slate-400 block">Orders</span>
<span className="text-sm font-bold text-emerald-400">{data.totalOrders}</span>
</div>
<div className="bg-slate-900 p-2.5 rounded-lg border border-slate-700">
<span className="text-slate-400 block">Average</span>
<span className="text-sm font-bold text-emerald-400">₱{data.avgOrder.toFixed(2)}</span>
</div>
</div>
</div>
);
}
return null;
};