16 lines
860 B
TypeScript
16 lines
860 B
TypeScript
/* The wiki is open to readers, but writing takes an account, and the page must
|
|
know which side of that line it is on before it draws anything: the sidebar's
|
|
account row and the editor's sign-in gate are both part of the first render,
|
|
on the server as much as in the browser. So a stored session is checked here,
|
|
once, before any page runs. With no cookie in the request it costs nothing. */
|
|
export default defineNuxtPlugin(async () => {
|
|
const { user, restoreSession } = useAuth()
|
|
await restoreSession()
|
|
|
|
/* The account's interface language outranks the device's own — the choice
|
|
follows the person — so the very first render speaks it. (setLocale keeps
|
|
the detection cookie in step, so the next load starts there even before
|
|
this runs.) */
|
|
if (user.value?.locale) await useAppLocale().applyAccount(user.value.locale)
|
|
})
|