login-dialog caused by accessing protected resource won't be closable

Massimo Melina committed Mar 10, 2024 at 10:58 UTC c73e32dfb9fa7d36092fb54d3e315bbb4a05d806
3 files changed +4 -6
frontend/src/BrowseFiles.ts
+1 -4
@@ -33,10 +33,7 @@ export function BrowseFiles() {
33 }), [props])
34 if (!useAuthorized())
35 return h(CustomCode, { name: 'unauthorized',
36 - ifEmpty: () => h('h1', {
37 - className: 'unauthorized',
38 - onClick: () => loginDialog()
39 - }, t`Unauthorized`)
36 + ifEmpty: () => h('h1', { className: 'unauthorized' }, t`Unauthorized`)
37 })
38 return h('div', propsDropFiles, // element dedicated to drop-files to cover full screen
39 h('div', {
frontend/src/login.ts
+2 -1
@@ -41,12 +41,13 @@ export function logout(){
41
42 export let closeLoginDialog: undefined | (() => void)
43 let lastPromise: Promise<any>
44 -export async function loginDialog() {
44 +export async function loginDialog(closable=false) {
45 return lastPromise = new Promise(resolve => {
46 if (closeLoginDialog)
47 return lastPromise
48 let going = false
49 const { close } = newDialog({
50 + closable,
51 className: 'login-dialog dialog-login',
52 icon: () => hIcon('login'),
53 onClose(v) {
frontend/src/menu.ts
+1 -1
@@ -176,7 +176,7 @@ function LoginButton() {
176 icon: 'login',
177 label: t`Login`,
178 onClickAnimation: false,
179 - onClick: () => loginDialog(),
179 + onClick: () => loginDialog(true),
180 })
181 }
182