diff --git a/web/public/icons/apple-touch-icon.png b/web/public/icons/apple-touch-icon.png index 156229a..29f27f2 100644 Binary files a/web/public/icons/apple-touch-icon.png and b/web/public/icons/apple-touch-icon.png differ diff --git a/web/public/icons/icon-192.png b/web/public/icons/icon-192.png index 43a0df8..aa4dd6e 100644 Binary files a/web/public/icons/icon-192.png and b/web/public/icons/icon-192.png differ diff --git a/web/public/icons/icon-512-maskable.png b/web/public/icons/icon-512-maskable.png index fb5cbb9..dae4909 100644 Binary files a/web/public/icons/icon-512-maskable.png and b/web/public/icons/icon-512-maskable.png differ diff --git a/web/public/icons/icon-512.png b/web/public/icons/icon-512.png index 0896b99..6f1b20f 100644 Binary files a/web/public/icons/icon-512.png and b/web/public/icons/icon-512.png differ diff --git a/web/public/icons/logo.png b/web/public/icons/logo.png new file mode 100644 index 0000000..b8851be Binary files /dev/null and b/web/public/icons/logo.png differ diff --git a/web/public/sw.js b/web/public/sw.js index 0d19f5d..5950ece 100644 --- a/web/public/sw.js +++ b/web/public/sw.js @@ -1,5 +1,5 @@ // Ham Lab service worker: cache hashed assets, never the API, network-first for the shell. -const CACHE = 'hamlab-v1'; +const CACHE = 'hamlab-v2'; self.addEventListener('install', () => self.skipWaiting()); self.addEventListener('activate', (e) => { e.waitUntil(caches.keys().then((ks) => Promise.all(ks.filter((k) => k !== CACHE).map((k) => caches.delete(k)))).then(() => self.clients.claim())); diff --git a/web/src/Login.tsx b/web/src/Login.tsx index 5c185d7..28b4c84 100644 --- a/web/src/Login.tsx +++ b/web/src/Login.tsx @@ -17,6 +17,7 @@ export default function Login({ onLogin }: { onLogin: () => void }) { return (
+

Ham Lab

setPw(e.target.value)} /> diff --git a/web/src/styles.css b/web/src/styles.css index 658796e..5d4b0a7 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -14,7 +14,8 @@ button { font: inherit; color: inherit; background: none; border: 0; cursor: poi /* login */ .login { display: flex; flex-direction: column; gap: 10px; width: min(320px, 90vw); } -.login h1 { margin: 0 0 8px; font-weight: 600; color: var(--accent); letter-spacing: .5px; } +.login-logo { width: 160px; height: 160px; align-self: center; border-radius: 50%; margin-bottom: 4px; } +.login h1 { text-align: center; margin: 0 0 8px; font-weight: 600; color: var(--accent); letter-spacing: .5px; } .login input { padding: 10px 12px; background: var(--bg2); border: 1px solid var(--border); border-radius: 6px; color: var(--fg); font-size: 16px; } .login button, .primary { padding: 10px 12px; background: var(--accent); color: #111; border-radius: 6px; font-weight: 600; } .login button:disabled { opacity: .5; }