feat(pwa): implement service worker and PWA enhancements

- Added service worker (sw.js) for offline functionality, caching strategies, and performance improvements.
- Registered service worker in App component to manage updates and offline readiness.
- Introduced ServiceWorkerStatus component to display connection status and provide cache management controls.
- Created manifest.json for PWA configuration, including app name, icons, and display settings.
- Updated index.html with PWA meta tags and links to support mobile web app capabilities.
- Refactored authentication guards to utilize useAuthStatus hook for improved user state management.
- Removed deprecated unregister-sw.js file to streamline service worker management.
This commit is contained in:
chamiakJ
2025-07-10 14:07:03 +05:30
parent bb8e6ee60f
commit bcfa18b1e8
16 changed files with 1238 additions and 187 deletions

View File

@@ -0,0 +1,78 @@
{
"name": "Worklenz - Project Management",
"short_name": "Worklenz",
"description": "A comprehensive project management application for teams",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#2b2b2b",
"orientation": "portrait-primary",
"categories": ["productivity", "business"],
"lang": "en",
"scope": "/",
"icons": [
{
"src": "/favicon.ico",
"sizes": "16x16 32x32 48x48",
"type": "image/x-icon",
"purpose": "any maskable"
},
{
"src": "/assets/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any maskable"
},
{
"src": "/assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
}
],
"shortcuts": [
{
"name": "Dashboard",
"short_name": "Dashboard",
"description": "View your project dashboard",
"url": "/worklenz",
"icons": [
{
"src": "/favicon.ico",
"sizes": "16x16 32x32 48x48"
}
]
},
{
"name": "Tasks",
"short_name": "Tasks",
"description": "Manage your tasks",
"url": "/worklenz/tasks",
"icons": [
{
"src": "/favicon.ico",
"sizes": "16x16 32x32 48x48"
}
]
}
],
"screenshots": [
{
"src": "/assets/images/screenshot-desktop.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide"
},
{
"src": "/assets/images/screenshot-mobile.png",
"sizes": "480x854",
"type": "image/png",
"form_factor": "narrow"
}
],
"prefer_related_applications": false,
"related_applications": [],
"launch_handler": {
"client_mode": "focus-existing"
}
}