perf: consolidate initial navigation loading
ci / docker (push) Successful in 3m46s

This commit is contained in:
2026-09-05 20:29:47 +08:00
parent 05ab768a3b
commit 27432fa2e2
4 changed files with 79 additions and 1 deletions
+14 -1
View File
@@ -107,8 +107,14 @@ async function bootstrap() {
const status = await api('/setup/status')
initialized.value = status.initialized
if (status.initialized) {
await api('/me')
const data = await api('/bootstrap')
authenticated.value = true
folders.value = data.folders ?? []
lists.value = data.lists ?? []
tags.value = data.tags ?? []
navigationLoaded.value = true
activeList.value = data.inbox_id || lists.value.find((item: TaskList) => item.is_inbox)?.id || lists.value[0]?.id || ''
expandedFolders.value = new Set(folders.value.map((folder) => folder.id))
await loadAll()
}
} catch { authenticated.value = false; initialized.value ??= true }
@@ -119,6 +125,13 @@ async function submitAuth() {
const path = initialized.value ? '/auth/login' : '/setup/initialize'
await api(path, { method: 'POST', body: JSON.stringify({ username: username.value, password: password.value }) })
initialized.value = true; authenticated.value = true
const data = await api('/bootstrap')
folders.value = data.folders ?? []
lists.value = data.lists ?? []
tags.value = data.tags ?? []
navigationLoaded.value = true
activeList.value = data.inbox_id || lists.value.find((item: TaskList) => item.is_inbox)?.id || lists.value[0]?.id || ''
expandedFolders.value = new Set(folders.value.map((folder) => folder.id))
await loadAll()
} catch (reason) { fail(reason) }
}