Debug splitting normal and metrics tables
This commit is contained in:
@@ -63,39 +63,6 @@ export function Settings() {
|
||||
const [isCalculatingMetrics, setIsCalculatingMetrics] = useState(false);
|
||||
const [metricsProgress, setMetricsProgress] = useState<ImportProgress | null>(null);
|
||||
|
||||
// Helper function to update progress state
|
||||
const updateProgressState = (progressData: any) => {
|
||||
const operation = progressData.operation?.toLowerCase() || '';
|
||||
const progressUpdate = {
|
||||
status: progressData.status || 'running',
|
||||
operation: progressData.operation,
|
||||
current: progressData.current !== undefined ? Number(progressData.current) : undefined,
|
||||
total: progressData.total !== undefined ? Number(progressData.total) : undefined,
|
||||
rate: progressData.rate !== undefined ? Number(progressData.rate) : undefined,
|
||||
percentage: progressData.percentage,
|
||||
elapsed: progressData.elapsed,
|
||||
remaining: progressData.remaining,
|
||||
error: progressData.error,
|
||||
message: progressData.message,
|
||||
added: progressData.added,
|
||||
updated: progressData.updated,
|
||||
skipped: progressData.skipped,
|
||||
duration: progressData.duration
|
||||
};
|
||||
|
||||
if (operation.includes('products import completed')) {
|
||||
setImportProgress(null);
|
||||
} else if (operation.includes('products import')) {
|
||||
setImportProgress(prev => ({ ...prev, ...progressUpdate }));
|
||||
} else if (operation.includes('orders import') && !operation.includes('purchase')) {
|
||||
setImportProgress(prev => ({ ...prev, ...progressUpdate }));
|
||||
} else if (operation.includes('purchase orders import')) {
|
||||
setPurchaseOrdersProgress(prev => ({ ...prev, ...progressUpdate }));
|
||||
} else if (operation.includes('metrics') || operation.includes('vendor metrics')) {
|
||||
setImportProgress(prev => ({ ...prev, ...progressUpdate }));
|
||||
}
|
||||
};
|
||||
|
||||
// Helper to connect to event source
|
||||
const connectToEventSource = useCallback((type: 'update' | 'import' | 'reset' | 'reset-metrics' | 'calculate-metrics') => {
|
||||
if (eventSource) {
|
||||
@@ -114,34 +81,26 @@ export function Settings() {
|
||||
(typeof data.progress === 'string' ? JSON.parse(data.progress) : data.progress)
|
||||
: data;
|
||||
|
||||
// Handle different types of progress
|
||||
if (type === 'import') {
|
||||
updateProgressState(progressData);
|
||||
} else {
|
||||
// For non-import operations, use the existing logic
|
||||
const setProgress = type === 'update' ? setUpdateProgress :
|
||||
type === 'reset' ? setResetProgress :
|
||||
type === 'reset-metrics' ? setResetMetricsProgress :
|
||||
type === 'calculate-metrics' ? setMetricsProgress :
|
||||
setImportProgress;
|
||||
setProgress(prev => ({
|
||||
...prev,
|
||||
status: progressData.status || 'running',
|
||||
operation: progressData.operation,
|
||||
current: progressData.current !== undefined ? Number(progressData.current) : prev?.current,
|
||||
total: progressData.total !== undefined ? Number(progressData.total) : prev?.total,
|
||||
rate: progressData.rate !== undefined ? Number(progressData.rate) : prev?.rate,
|
||||
percentage: progressData.percentage !== undefined ? progressData.percentage : prev?.percentage,
|
||||
elapsed: progressData.elapsed || prev?.elapsed,
|
||||
remaining: progressData.remaining || prev?.remaining,
|
||||
error: progressData.error || prev?.error,
|
||||
message: progressData.message || prev?.message,
|
||||
added: progressData.added !== undefined ? progressData.added : prev?.added,
|
||||
updated: progressData.updated !== undefined ? progressData.updated : prev?.updated,
|
||||
skipped: progressData.skipped !== undefined ? progressData.skipped : prev?.skipped,
|
||||
duration: progressData.duration || prev?.duration
|
||||
}));
|
||||
}
|
||||
// For non-import operations, use the existing logic
|
||||
const setProgress = type === 'update' ? setUpdateProgress :
|
||||
type === 'reset' ? setResetProgress :
|
||||
type === 'reset-metrics' ? setResetMetricsProgress :
|
||||
type === 'calculate-metrics' ? setMetricsProgress :
|
||||
setImportProgress;
|
||||
|
||||
setProgress(prev => ({
|
||||
...prev,
|
||||
status: progressData.status || 'running',
|
||||
operation: progressData.operation,
|
||||
current: progressData.current !== undefined ? Number(progressData.current) : prev?.current,
|
||||
total: progressData.total !== undefined ? Number(progressData.total) : prev?.total,
|
||||
rate: progressData.rate !== undefined ? Number(progressData.rate) : prev?.rate,
|
||||
percentage: progressData.percentage !== undefined ? progressData.percentage : prev?.percentage,
|
||||
elapsed: progressData.elapsed || prev?.elapsed,
|
||||
remaining: progressData.remaining || prev?.remaining,
|
||||
error: progressData.error || prev?.error,
|
||||
message: progressData.message || prev?.message
|
||||
}));
|
||||
|
||||
// Set operation state if we're getting progress
|
||||
if (progressData.status === 'running') {
|
||||
@@ -866,13 +825,6 @@ export function Settings() {
|
||||
|
||||
|
||||
|
||||
{/* Show progress outside cards if no operation is running but we have progress state */}
|
||||
{!isUpdating && !isImporting && !isResetting && !isResettingMetrics && !isCalculatingMetrics &&
|
||||
(updateProgress || importProgress || resetProgress || resetMetricsProgress || metricsProgress) && (
|
||||
<>
|
||||
{renderProgress(updateProgress || importProgress || resetProgress || resetMetricsProgress || metricsProgress)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user