async function loadWorkspace({ document, window = null, createLoader = createFeatureLoader }) { let cameOnline = false; let replayed = false; const captureOnline = () => { cameOnline = true; }; window?.addEventListener('online', captureOnline); const status = document.querySelector('#my-work-action-status'); const url = document.querySelector( 'meta[name="stackchain-feature-today-timer"]' )?.content || ''; const loader = createLoader({ document, urls: { 'today-timer': url }, }); if (status) status.textContent = 'Starting workspace…'; try { await loader.load('today-timer'); if (status) status.textContent = ''; return { replayOnline(callback) { if (replayed) return; replayed = true; window?.removeEventListener('online', captureOnline); if (cameOnline) callback(); }, }; } catch (error) { window?.removeEventListener('online', captureOnline); if (window?.location?.reload) { if (cameOnline) window.location.reload(); else window.addEventListener('online', () => window.location.reload(), { once: true }); } if (status) { status.textContent = window ? 'Workspace could not load. Reconnect to retry automatically, or reload now.' : 'Workspace could not load. Check your connection, then reload to retry.'; } throw error; } } if (typeof module !== 'undefined' && module.exports) module.exports = loadWorkspace;