your personal website on atproto - mirror
blento.app
1<script lang="ts">
2 import { onMount, onDestroy } from 'svelte';
3 import ImageViewerModal from './ImageViewerModal.svelte';
4 import { registerImageViewer, unregisterImageViewer } from './imageViewer.svelte';
5
6 let open = $state(false);
7 let src = $state('');
8
9 function show(newSrc: string) {
10 src = newSrc;
11 open = true;
12 }
13
14 onMount(() => {
15 registerImageViewer(show);
16 });
17
18 onDestroy(() => {
19 unregisterImageViewer();
20 });
21</script>
22
23<ImageViewerModal bind:open {src} />