fix: resolve white screen by removing stack-unfriendly spread operators and adding diagnostic logs

This commit is contained in:
Christian Vidal Wolf
2026-04-16 12:02:49 +02:00
parent 348821cd49
commit 630941c96a
5 changed files with 13 additions and 7 deletions
+2 -2
View File
@@ -554,7 +554,7 @@ const DataGrid: React.FC<DataGridProps> = ({ data, filters, hasCustomerFilter, a
// 2. Sort
if (sortConfig.key) {
// Create a copy to avoid mutating the original array and ensure React detects the change
result = [...result].sort((a, b) => {
result = result.slice().sort((a, b) => {
let valA: number | string = '';
let valB: number | string = '';
@@ -611,7 +611,7 @@ const DataGrid: React.FC<DataGridProps> = ({ data, filters, hasCustomerFilter, a
} else if (showOnlyTop50 && top50Ranking) {
// Default sort by Rank when Top 50 is active
const rankMap = top50Mode === 'eu' ? top50Ranking.eu : top50Ranking.uk;
result = [...result].sort((a, b) => {
result = result.slice().sort((a, b) => {
const rankA = a.asin ? rankMap.get(a.asin.toUpperCase()) || 999 : 999;
const rankB = b.asin ? rankMap.get(b.asin.toUpperCase()) || 999 : 999;
return rankA - rankB;
+1 -1
View File
@@ -253,7 +253,7 @@ const ForecastView: React.FC<ForecastViewProps> = ({
}, [baseFilteredData, activeMonths]);
const processedData = useMemo(() => {
let result = [...calculatedData];
let result = calculatedData.slice();
if (showOnlyTop50 && top50Ranking) {
const currentRankMap = top50Mode === 'eu' ? top50Ranking.eu : top50Ranking.uk;
+2 -2
View File
@@ -561,7 +561,7 @@ const WeeklyGrid: React.FC<WeeklyGridProps & { top50Mode: 'eu' | 'uk' }> = ({
// 1. Filter by search term, Top 50, and growth (using debounced value)
const filteredRows = useMemo(() => {
let result = rows;
let result = rows.slice();
// Top 50 Filter
if (showOnlyTop50 && top50Ranking) {
@@ -711,7 +711,7 @@ const WeeklyGrid: React.FC<WeeklyGridProps & { top50Mode: 'eu' | 'uk' }> = ({
const sortedRows = useMemo(() => {
if (!sortConfig || filteredRows.length === 0) return filteredRows;
const result = [...filteredRows];
const result = filteredRows.slice();
const { key: weekKey, direction, metric } = sortConfig;
if (metric === 'rank') {
+1 -1
View File
@@ -42,7 +42,7 @@ export const MasterTable: React.FC<MasterTableProps> = ({ products, includeCOGS,
const totalAcos = totals.grossSales > 0 ? totals.ppcSpend / totals.grossSales : 0;
const sortedProducts = useMemo(() => {
return [...products].sort((a, b) => {
return products.slice().sort((a, b) => {
const metricsA = calculateProductMetrics(a, includeCOGS);
const metricsB = calculateProductMetrics(b, includeCOGS);