_host.closeModal(click)}>
viewState.ModalRef.alert = el} class="alert ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.alert ) ? 'open' : '' }">

Alert

${viewState?.currentModal?.msg||'You are alerted.'}

viewState.ModalRef.confirm = el} class="confirm ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.confirm ) ? 'open' : '' }">

Confirm

${viewState?.currentModal?.msg||'You are asked to confirm'}

viewState.ModalRef.prompt = el} class="prompt ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.prompt ) ? 'open' : '' }">

Prompt

viewState.ModalRef.paste = el} class="paste ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.paste ) ? 'open' : '' }">

Paste into Page

viewState.ModalRef.beforeunload = el} class="beforeunload ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.beforeunload ) ? 'open' : '' }">

Reload Site?

Your changes may not be saved. The page unloading asks

${viewState?.currentModal?.msg||'Are you sure you wish to leave?'}

viewState.ModalRef.infobox = el} class="infobox ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.infobox ) ? 'open' : '' }">

${viewState?.currentModal?.title || 'Info'}

viewState.ModalRef.notice = el} class="notice ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.notice ) ? 'open' : '' }">

${viewState?.currentModal?.title || 'Notice'}

${viewState?.currentModal?.msg||'Empty notice'}

${viewState?.currentModal?.link ? G`${viewState?.currentModal?.link.title}` : G`` } ${viewState?.currentModal?.otherButton ? (DEBUG.debugOtherButton && console.log('Have other button'), G``) : (DEBUG.debugOtherButton && console.log('No have other button'), G``) }

viewState.ModalRef.copy = el} class="copy ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.copy ) ? 'open' : '' }">

_host.copyBoxTitle = el} class=title>${state.title || 'Copy'}

${viewState?.currentModal?.link ? G`${viewState?.currentModal?.link.title}` : G`` } ${viewState?.currentModal?.otherButton ? (DEBUG.debugOtherButton && console.log('Have other button'), G``) : (DEBUG.debugOtherButton && console.log('No have other button'), G``) }

viewState.ModalRef.auth = el} class="auth ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.auth ) ? 'open' : '' }">

${title || 'Authentication'}

${viewState?.currentModal?.msg||''}

viewState.ModalRef.filechooser = el} class="filechooser ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.filechooser ) ? 'open' : '' }">

${viewState?.currentModal?.title || 'File Upload'}

${viewState?.currentModal?.msg||''}

viewState.ModalRef.intentPrompt = el} class="intent-prompt ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.intentPrompt ) ? 'open' : '' }">
{ submission.preventDefault(); const target = CONFIG.useBlankWindowForProtocolLaunch ? globalThis.window.open("about:blank") : window.top ; const url = submission.target.action; DEBUG.debugIntentPrompts && console.log("intent prompt", {target, url}); setTimeout(() => { window._voodoo_noUnloadDelay = true; target.location.href = url; setTimeout(() => window._voodoo_noUnloadDelay = false, 300); DEBUG.debugIntentPrompts && console.log(target.location); }, 300); }}>

${viewState?.currentModal?.title || 'Open app'}

${ `This page is asking to open an external app using URL: ${viewState?.currentModal?.url ? viewState?.currentModal?.url?.slice?.(0,140) + (viewState?.currentModal?.url?.length > 140 ? '...' : '') : 'unknown URL' }` }

viewState.ModalRef.settings = el} class="settings ${ !!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.settings ) ? 'open' : '' }">
{ submission.preventDefault(); alert("Save settings"); }}>

BrowserBox Pro Settings

${!!viewState?.currentModal?.el && (viewState?.currentModal?.el === viewState.ModalRef.settings ) ? Fskip(await uberFetch('/settings_modal').then(r => r.text())) : F`` }