your personal website on atproto - mirror
blento.app
1<script lang="ts">
2 import { onMount, onDestroy } from 'svelte';
3 import QRCodeModal, { type QRContext } from './QRCodeModal.svelte';
4 import { registerQRModal, unregisterQRModal } from './qrOverlay.svelte';
5
6 let open = $state(false);
7 let href = $state('');
8 let context = $state<QRContext>({});
9
10 function showModal(newHref: string, newContext: QRContext) {
11 href = newHref;
12 context = newContext;
13 open = true;
14 }
15
16 onMount(() => {
17 registerQRModal(showModal);
18 });
19
20 onDestroy(() => {
21 unregisterQRModal();
22 });
23</script>
24
25<QRCodeModal bind:open {href} {context} />