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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
<script lang="ts">
import { registerSW } from 'virtual:pwa-register'
import { pwaInfo } from 'virtual:pwa-info';
import { onMount } from 'svelte'
import '../app.postcss';
import { AppShell, AppBar } from '@skeletonlabs/skeleton';
// Floating UI for Popups
// import { computePosition, autoUpdate, flip, shift, offset, arrow } from '@floating-ui/dom';
// import { storePopup } from '@skeletonlabs/skeleton';
// storePopup.set({ computePosition, autoUpdate, flip, shift, offset, arrow });
onMount(async () => {
if (pwaInfo) {
registerSW({
immediate: true,
onRegistered(r: ServiceWorkerRegistration) {
console.log(`SW Registered: ${r}`)
},
onRegisterError(error: Error) {
console.log('SW registration error', error)
},
onOfflineReady() {
console.log('SW Offline Ready')
}
})
}
})
$: webManifestLink = pwaInfo ? pwaInfo.webManifest.linkTag : ''
</script>
<svelte:head>
{@html webManifestLink}
</svelte:head>
<!-- App Shell -->
<AppShell>
<svelte:fragment slot="header">
<!-- App Bar -->
<AppBar>
<svelte:fragment slot="lead">
<strong class="text-xl uppercase">Skeleton</strong>
</svelte:fragment>
<svelte:fragment slot="trail">
<a
class="btn btn-sm variant-ghost-surface"
href="https://discord.gg/EXqV7W8MtY"
target="_blank"
rel="noreferrer"
>
Discord
</a>
<a
class="btn btn-sm variant-ghost-surface"
href="https://twitter.com/SkeletonUI"
target="_blank"
rel="noreferrer"
>
Twitter
</a>
<a
class="btn btn-sm variant-ghost-surface"
href="https://github.com/skeletonlabs/skeleton"
target="_blank"
rel="noreferrer"
>
GitHub
</a>
</svelte:fragment>
</AppBar>
</svelte:fragment>
<!-- Page Route Content -->
<slot />
</AppShell>
|