blob: aab4929e1394475ee489e436175fd17154531730 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<script>
let { vapid, subscription, subscribe = async () => null, ping = async () => null } = $props();
let pending = $state(false);
function onsubmit(callback) {
return async (evt) => {
evt.preventDefault();
pending = true;
try {
await callback();
} finally {
pending = false;
}
};
}
</script>
{#if !!vapid}
{#if !subscription}
<form class="form" onsubmit={onsubmit(subscribe)}>
<button disabled={pending} type="submit">create push subscription</button>
</form>
{/if}
<form class="form" onsubmit={onsubmit(ping)}>
<button disabled={pending} type="submit">send test notification</button>
</form>
{:else}
Waiting for VAPID key…
{/if}
|