let _online = $state(typeof navigator !== 'undefined' ? navigator.onLine : true); let _pendingCount = $state(0); let _syncing = $state(false); if (typeof window !== 'undefined') { window.addEventListener('online', () => { _online = true; }); window.addEventListener('offline', () => { _online = false; }); } export const network = { get online() { return _online; }, get pendingCount() { return _pendingCount; }, get syncing() { return _syncing; }, incrementPending() { _pendingCount++; }, decrementPending() { _pendingCount = Math.max(0, _pendingCount - 1); }, setPendingCount(n: number) { _pendingCount = n; }, setSyncing(v: boolean) { _syncing = v; }, setOffline() { _online = false; } };