Spaces:
Sleeping
Sleeping
| <html lang="mr"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>Pattanshetty Inventory</title> | |
| <!-- PWA Manifest --> | |
| <link rel="manifest" href="/manifest.json" /> | |
| <meta name="theme-color" content="#0d9488" /> | |
| <meta name="mobile-web-app-capable" content="yes" /> | |
| <meta name="apple-mobile-web-app-capable" content="yes" /> | |
| <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> | |
| <meta name="apple-mobile-web-app-title" content="Pattanshetty" /> | |
| <link rel="apple-touch-icon" href="/icon-192.png" /> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> | |
| <style> | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| } | |
| /* Hide scrollbar for Chrome, Safari and Opera */ | |
| .no-scrollbar::-webkit-scrollbar { | |
| display: none; | |
| } | |
| /* Hide scrollbar for IE, Edge and Firefox */ | |
| .no-scrollbar { | |
| -ms-overflow-style: none; | |
| /* IE and Edge */ | |
| scrollbar-width: none; | |
| /* Firefox */ | |
| } | |
| /* Chrome, Safari, Edge, Opera - Hide number input arrows */ | |
| input::-webkit-outer-spin-button, | |
| input::-webkit-inner-spin-button { | |
| -webkit-appearance: none; | |
| margin: 0; | |
| } | |
| /* Firefox - Hide number input arrows */ | |
| input[type=number] { | |
| -moz-appearance: textfield; | |
| } | |
| </style> | |
| <script type="importmap"> | |
| { | |
| "imports": { | |
| "react-router-dom": "https://aistudiocdn.com/react-router-dom@^7.9.6", | |
| "react-dom/": "https://aistudiocdn.com/react-dom@^19.2.0/", | |
| "react/": "https://aistudiocdn.com/react@^19.2.0/", | |
| "react": "https://aistudiocdn.com/react@^19.2.0", | |
| "lucide-react": "https://aistudiocdn.com/lucide-react@^0.554.0", | |
| "recharts": "https://aistudiocdn.com/recharts@^3.4.1" | |
| } | |
| } | |
| </script> | |
| <link rel="stylesheet" href="/index.css"> | |
| </head> | |
| <body class="bg-gray-50 text-gray-900"> | |
| <div id="root"></div> | |
| <script type="module" src="/index.tsx"></script> | |
| <!-- Service Worker Registration --> | |
| <script> | |
| if ('serviceWorker' in navigator) { | |
| window.addEventListener('load', () => { | |
| navigator.serviceWorker.register('/service-worker.js') | |
| .then((registration) => { | |
| console.log('[SW] Registered successfully:', registration.scope); | |
| // Check for updates | |
| registration.addEventListener('updatefound', () => { | |
| const newWorker = registration.installing; | |
| newWorker.addEventListener('statechange', () => { | |
| if (newWorker.state === 'installed' && navigator.serviceWorker.controller) { | |
| console.log('[SW] New version available! Refresh to update.'); | |
| } | |
| }); | |
| }); | |
| }) | |
| .catch((error) => { | |
| console.error('[SW] Registration failed:', error); | |
| }); | |
| }); | |
| } | |
| </script> | |
| </body> | |
| </html> |