export default defineNuxtPlugin(async (nuxtApp) => { const masto = createMasto() publicServer.value = publicServer.value || useRuntimeConfig().public.defaultServer if (process.client) { const { query } = useRoute() const user = typeof query.server === 'string' && typeof query.token === 'string' ? { server: query.server, token: query.token, vapidKey: typeof query.vapid_key === 'string' ? query.vapid_key : undefined, } : currentUser.value nuxtApp.hook('app:suspense:resolve', () => { // TODO: improve upstream to make this synchronous (delayed auth) if (!masto.loggedIn.value) masto.loginTo(user) }) } return { provide: { masto, }, } })