your personal website on atproto - mirror blento.app
at button 25 lines 576 B view raw
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} />