import React from 'react'; interface VendorStockBadgeProps { asin: string; vendorStockMap?: Map; mode: 'eu' | 'uk'; avgWeeklySales?: number; } export const VendorStockBadge: React.FC = ({ asin, vendorStockMap, mode, avgWeeklySales }) => { if (!vendorStockMap || !asin) return null; const stockData = vendorStockMap.get(asin.toUpperCase()); if (!stockData) return null; const stock = mode === 'uk' ? stockData.uk : stockData.eu; // Calculate Weeks of Coverage (WOC) // If sales are 0 but store has stock -> Infinite coverage (>52 weeks) -> Green // If sales are 0 and NO stock -> 0 weeks -> Red // If sales > 0 -> Calculate stock/sales let woc: number = 0; const velocity = avgWeeklySales || 0; if (velocity > 0) { woc = stock / velocity; } else if (stock > 0) { woc = 999; } else { woc = 0; } const wocText = woc === 999 ? '> 52 Weeks' : `${woc.toFixed(1)} Weeks Cover`; const wocColor = woc < 4 ? 'text-rose-500' : 'text-emerald-500'; const themeClasses = "bg-slate-200 text-slate-800 border-slate-300 shadow-sm"; return (
Vendor {stock.toLocaleString('de-DE')}
{wocText}
); };