feat: complete experiments tab analytics optimization with modular kpis and sparklines

This commit is contained in:
Christian Vidal Wolf
2026-02-21 15:31:02 +01:00
parent 67e93f6653
commit d78a88afe1
5 changed files with 362 additions and 53 deletions
+3 -2
View File
@@ -58,7 +58,7 @@ const App: React.FC = () => {
const [cachedForecastRecords, setCachedForecastRecords] = useState<ForecastRecord[]>([]);
const [lastForecastFile, setLastForecastFile] = useState<string | null>(null);
const [buyBoxLostMap, setBuyBoxLostMap] = useState<Map<string, { countries: string[]; reasons: Record<string, string> }>>(new Map());
// Experiments state
const [experimentMap, setExperimentMap] = useState<Map<string, ActiveExperiment[]>>(new Map());
const [selectedExperimentId, setSelectedExperimentId] = useState<string | null>(null);
@@ -66,7 +66,7 @@ const App: React.FC = () => {
const [preselectedAsins, setPreselectedAsins] = useState<string[]>([]);
const [preselectedMarketplace, setPreselectedMarketplace] = useState<string>('');
const [preselectedLine, setPreselectedLine] = useState<string>('');
// Available product lines (for experiment form)
const availableProductLines = useMemo(() => {
const lines = new Set(rawData.map(r => r.line).filter(Boolean));
@@ -961,6 +961,7 @@ const App: React.FC = () => {
setPreselectedMarketplace(filters.customer[0] || '');
setShowCreateExperiment(true);
}}
salesData={rawData}
/>
</div>
</Suspense>