Thread viewer for Bluesky
at master 30 lines 933 B view raw
1<script module lang="ts"> 2 import BiohazardDialog from './BiohazardDialog.svelte'; 3 import LoginDialog from './LoginDialog.svelte'; 4 5 let loginDisplayed = $state(false); 6 let loginWithClose = $state(false); 7 8 let biohazardDisplayed = $state(false); 9 let biohazardOnConfirm: (() => void) | undefined = $state(undefined); 10 11 export function showLoginDialog(opts: { showClose: boolean }) { 12 if (!loginDisplayed) { 13 loginDisplayed = true; 14 loginWithClose = opts.showClose; 15 } 16 } 17 18 export function showBiohazardDialog(onConfirm?: () => void) { 19 if (!biohazardDisplayed) { 20 biohazardDisplayed = true; 21 biohazardOnConfirm = onConfirm; 22 } 23 } 24</script> 25 26{#if loginDisplayed} 27 <LoginDialog onClose={() => loginDisplayed = false} showClose={loginWithClose} /> 28{:else if biohazardDisplayed} 29 <BiohazardDialog onClose={() => biohazardDisplayed = false} onConfirm={() => biohazardOnConfirm?.()} /> 30{/if}