feat(push): owner enrolment UI, service worker and VAPID keygen (T10)

EnableNotifications subscribes the owner's device with the public VAPID
key and stores it; sw.js receives pushes and opens /defects on click;
`pnpm vapid:keys` mints the key pair.
This commit is contained in:
Julien Calixte
2026-05-28 01:23:10 +02:00
parent ea7384591c
commit 0745ad14f0
7 changed files with 258 additions and 2 deletions

View File

@@ -29,9 +29,10 @@ const openSection = ref<string | null>(null)
<template>
<main class="mx-auto flex max-w-5xl flex-col items-center gap-6 p-6">
<header class="text-center">
<header class="flex flex-col items-center gap-2 text-center">
<h1>Andon weak points</h1>
<p class="opacity-70">Every defect filed on the board.</p>
<EnableNotifications />
</header>
<DotMap :defects="defects" :counts="counts" @select="openSection = $event" />