Alpha Version of Syncing and Desktop/Anroid PWA

This commit is contained in:
Honey committed 2026-02-18 20:07:10 +01:00
1 parent 8cd8133f9e
commit a8779d7be1
9 files changed
+1381 -454

No files matched your search

+39 -1
View File
@@ -2,8 +2,46 @@ import React from 'react'
import ReactDOM from 'react-dom/client'
import NoteApp from './NoteApp.jsx'
// Hide splash screen after app renders
const hideSplash = () => {
const splash = document.getElementById('splash');
if (splash) {
splash.classList.add('hide');
setTimeout(() => splash.remove(), 300);
}
};
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<NoteApp />
</React.StrictMode>
)
);
// Hide splash after a short delay (let React mount)
setTimeout(hideSplash, 200);
// ── Register Service Worker ──
if ('serviceWorker' in navigator) {
window.addEventListener('load', async () => {
try {
const reg = await navigator.serviceWorker.register('./sw.js', { scope: '/' });
console.log('[SW] Registered:', reg.scope);
// Check for updates periodically
setInterval(() => reg.update(), 60 * 60 * 1000); // hourly
// Prompt refresh on new version
reg.addEventListener('updatefound', () => {
const newWorker = reg.installing;
newWorker?.addEventListener('statechange', () => {
if (newWorker.state === 'activated' && navigator.serviceWorker.controller) {
// New version available — could show a toast here
console.log('[SW] New version available');
}
});
});
} catch (err) {
console.warn('[SW] Registration failed:', err);
}
});
}