Resume pending action after login (favorite, diary, QR upload)
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 13s
Test / e2e-test (push) Failing after 1m4s
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 4s
PR Preview / deploy-preview (pull_request) Successful in 13s
Test / e2e-test (push) Failing after 1m4s
Add pendingAction callback to UI store. When user clicks favorite, save-to-diary, or upload QR while not logged in, the action is stored and automatically executed after successful login/register instead of reloading the page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ export const useUiStore = defineStore('ui', () => {
|
||||
const currentSection = ref('search')
|
||||
const showLoginModal = ref(false)
|
||||
const toasts = ref([])
|
||||
const pendingAction = ref(null)
|
||||
|
||||
let toastId = 0
|
||||
|
||||
@@ -20,7 +21,10 @@ export const useUiStore = defineStore('ui', () => {
|
||||
}, duration)
|
||||
}
|
||||
|
||||
function openLogin() {
|
||||
function openLogin(afterLogin) {
|
||||
if (afterLogin) {
|
||||
pendingAction.value = afterLogin
|
||||
}
|
||||
showLoginModal.value = true
|
||||
}
|
||||
|
||||
@@ -28,13 +32,23 @@ export const useUiStore = defineStore('ui', () => {
|
||||
showLoginModal.value = false
|
||||
}
|
||||
|
||||
function runPendingAction() {
|
||||
if (pendingAction.value) {
|
||||
const action = pendingAction.value
|
||||
pendingAction.value = null
|
||||
action()
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
currentSection,
|
||||
showLoginModal,
|
||||
toasts,
|
||||
pendingAction,
|
||||
showSection,
|
||||
showToast,
|
||||
openLogin,
|
||||
closeLogin,
|
||||
runPendingAction,
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user