const formatEta = (seconds) => { if (seconds == null || seconds === Infinity) { return null; } const clamped = Math.max(0, seconds); const mins = Math.floor(clamped / 60); const secs = clamped % 60; if (mins > 0) { return `${mins}m ${secs.toString().padStart(2, '0')}s`; } return `${secs}s`; }; const StoreSyncOverlay = ({ state }) => { if (!state?.active) { return null; } const percent = Math.round(state.percent || 0); const backgroundColor = state.block ? 'rgba(255,255,255,0.95)' : 'rgba(15,23,42,0.4)'; const etaLabel = formatEta(state.etaSeconds); return (

{state.message || 'Synchronisiere...'}

{percent}% {etaLabel ? `ETA ~ ${etaLabel}` : 'Bitte warten...'}

Die Verzögerung schützt vor Rate-Limits während die Betriebe geprüft werden.

); }; export default StoreSyncOverlay;