1
0
Files
AstralRinth/apps/frontend/src/middleware/auth.ts
Cal H. 2aabcf36ee refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs

* fix: prettier frontend

* feat: config changes

* fix: lint issues

* fix: lint

* fix: type imports

* fix: cyclical import issue

* fix: lockfile

* fix: missing dep

* fix: switch to tabs

* fix: continue switch to tabs

* fix: rustfmt parity

* fix: moderation lint issue

* fix: lint issues

* fix: ui intl

* fix: lint issues

* Revert "fix: rustfmt parity"

This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711.

* feat: revert last rs
2025-08-14 20:48:38 +00:00

34 lines
723 B
TypeScript

const whitelistedParams = ['flow', 'error']
export default defineNuxtRouteMiddleware(async (_to, from) => {
const config = useRuntimeConfig()
const auth = await useAuth()
if (auth.value.user) return
const fullPath = from.fullPath
const url = new URL(fullPath, config.public.apiBaseUrl)
const extractedParams = Object.create(null) as Record<string, string>
for (const param of whitelistedParams) {
const val = url.searchParams.get(param)
if (val != null) {
extractedParams[param] = val
url.searchParams.delete(param)
}
}
return await navigateTo(
{
path: '/auth/sign-in',
query: {
redirect: `${url.pathname}${url.search}`,
...extractedParams,
},
},
{ replace: true },
)
})