refactor: move post-login push logic to single place
This commit is contained in:
parent
d9e8703882
commit
72855d7725
|
@ -88,7 +88,12 @@ async function loginTo(user?: Omit<UserLogin, 'account'> & { account?: AccountCr
|
|||
}
|
||||
}
|
||||
|
||||
if ('server' in route.params && user?.token && !useNuxtApp()._processingMiddleware) {
|
||||
// This only cleans up the URL; page content should stay the same
|
||||
if (route.path === '/signin/callback') {
|
||||
await router.push('/home')
|
||||
}
|
||||
|
||||
else if ('server' in route.params && user?.token && !useNuxtApp()._processingMiddleware) {
|
||||
await router.push({
|
||||
...route,
|
||||
force: true,
|
||||
|
|
|
@ -2,8 +2,7 @@ export default defineNuxtPlugin(async (nuxtApp) => {
|
|||
const masto = createMasto()
|
||||
|
||||
if (process.client) {
|
||||
const { query, path } = useRoute()
|
||||
const router = useRouter()
|
||||
const { query } = useRoute()
|
||||
const user = typeof query.server === 'string' && typeof query.token === 'string'
|
||||
? {
|
||||
server: query.server,
|
||||
|
@ -14,13 +13,8 @@ export default defineNuxtPlugin(async (nuxtApp) => {
|
|||
|
||||
nuxtApp.hook('app:suspense:resolve', () => {
|
||||
// TODO: improve upstream to make this synchronous (delayed auth)
|
||||
if (!masto.loggedIn.value) {
|
||||
masto.loginTo(user).then(() => {
|
||||
// This only cleans up the URL; page content should stay the same
|
||||
if (path === '/signin/callback')
|
||||
router.push('/home')
|
||||
})
|
||||
}
|
||||
if (!masto.loggedIn.value)
|
||||
masto.loginTo(user)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue