refactor: move post-login push logic to single place

This commit is contained in:
Daniel Roe 2022-12-26 08:33:14 +01:00
parent d9e8703882
commit 72855d7725
No known key found for this signature in database
GPG key ID: 22D5008E4F5D9B55
2 changed files with 9 additions and 10 deletions

View file

@ -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({ await router.push({
...route, ...route,
force: true, force: true,

View file

@ -2,8 +2,7 @@ export default defineNuxtPlugin(async (nuxtApp) => {
const masto = createMasto() const masto = createMasto()
if (process.client) { if (process.client) {
const { query, path } = useRoute() const { query } = useRoute()
const router = useRouter()
const user = typeof query.server === 'string' && typeof query.token === 'string' const user = typeof query.server === 'string' && typeof query.token === 'string'
? { ? {
server: query.server, server: query.server,
@ -14,13 +13,8 @@ export default defineNuxtPlugin(async (nuxtApp) => {
nuxtApp.hook('app:suspense:resolve', () => { nuxtApp.hook('app:suspense:resolve', () => {
// TODO: improve upstream to make this synchronous (delayed auth) // TODO: improve upstream to make this synchronous (delayed auth)
if (!masto.loggedIn.value) { if (!masto.loggedIn.value)
masto.loginTo(user).then(() => { masto.loginTo(user)
// This only cleans up the URL; page content should stay the same
if (path === '/signin/callback')
router.push('/home')
})
}
}) })
} }