- web/public/manifest.json with display=standalone, theme_color=#faff69, 192+512 icons - web/public/sw.js with app-shell cache strategy (API calls network-only) - web/public/icons/icon-192.png and icon-512.png generated via gen-icons.cjs - web/scripts/gen-icons.cjs pure-Node.js PNG icon generator (black canvas, volt H monogram) - web/src/hooks/usePWA.ts registers service worker on app load - web/index.html: added theme-color meta tag - web/src/App.tsx: calls usePWA() hook
18 lines
802 B
HTML
18 lines
802 B
HTML
<!doctype html>
|
|
<html lang="en" class="dark">
|
|
<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" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<meta name="theme-color" content="#faff69" />
|
|
<title>HWLab</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="" />
|
|
<link href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@600&family=Inter:wght@400;500;600;700;900&display=swap" rel="stylesheet" />
|
|
</head>
|
|
<body class="bg-canvas text-white antialiased">
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|