Fix authentication hydration issue (#1048)

* Fix authentication hydration issue

* reset existing cookies

* Update if statement chaining
This commit is contained in:
Geometrically
2023-03-13 20:21:55 -07:00
committed by GitHub
parent e838fe30de
commit aac2da70cf
6 changed files with 27 additions and 9 deletions

View File

@@ -20,10 +20,10 @@ export const initAuth = async (oldToken = null) => {
} }
const route = useRoute() const route = useRoute()
const authCookie = useCookie('auth-token', { const authCookie = useCookie('auth-token', {
maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'lax',
secure: true, secure: true,
sameSite: 'Strict',
httpOnly: false, httpOnly: false,
expires: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
path: '/', path: '/',
}) })

View File

@@ -2,7 +2,7 @@ export const useCosmetics = () =>
useState('cosmetics', () => { useState('cosmetics', () => {
const cosmetics = useCookie('cosmetics', { const cosmetics = useCookie('cosmetics', {
maxAge: 60 * 60 * 24 * 365 * 10, maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'Strict', sameSite: 'lax',
secure: true, secure: true,
httpOnly: false, httpOnly: false,
path: '/', path: '/',
@@ -36,7 +36,7 @@ export const saveCosmetics = () => {
const cosmeticsCookie = useCookie('cosmetics', { const cosmeticsCookie = useCookie('cosmetics', {
maxAge: 60 * 60 * 24 * 365 * 10, maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'Strict', sameSite: 'lax',
secure: true, secure: true,
httpOnly: false, httpOnly: false,
path: '/', path: '/',

View File

@@ -2,7 +2,7 @@ export const useTheme = () =>
useState('theme', () => { useState('theme', () => {
const colorMode = useCookie('color-mode', { const colorMode = useCookie('color-mode', {
maxAge: 60 * 60 * 24 * 365 * 10, maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'Strict', sameSite: 'lax',
secure: true, secure: true,
httpOnly: false, httpOnly: false,
path: '/', path: '/',
@@ -27,7 +27,7 @@ export const updateTheme = (value, updatePreference = false) => {
const themeCookie = useCookie('color-mode', { const themeCookie = useCookie('color-mode', {
maxAge: 60 * 60 * 24 * 365 * 10, maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'Strict', sameSite: 'lax',
secure: true, secure: true,
httpOnly: false, httpOnly: false,
path: '/', path: '/',

View File

@@ -137,8 +137,6 @@ export const createDataPackVersion = async function (
primaryZipReader.file('quilt.mod.json', JSON.stringify(quiltModJson)) primaryZipReader.file('quilt.mod.json', JSON.stringify(quiltModJson))
} }
if (loaders.includes('forge')) { if (loaders.includes('forge')) {
console.log(forgeModsToml)
console.log(TOML.stringify(forgeModsToml, { newline: '\n' }))
primaryZipReader.file('META-INF/mods.toml', TOML.stringify(forgeModsToml, { newline: '\n' })) primaryZipReader.file('META-INF/mods.toml', TOML.stringify(forgeModsToml, { newline: '\n' }))
} }

View File

@@ -20,6 +20,5 @@ export default defineNuxtPlugin((nuxtApp) => {
// colorSchemeQueryList.addEventListener('change', setColorScheme) // colorSchemeQueryList.addEventListener('change', setColorScheme)
// } // }
// }) // })
nuxtApp.provide('colorMode', themeStore.value) nuxtApp.provide('colorMode', themeStore.value)
}) })

View File

@@ -9,5 +9,26 @@ export default defineNitroPlugin((nitroApp) => {
} else { } else {
html.htmlAttrs.push(`class="dark-mode"`) html.htmlAttrs.push(`class="dark-mode"`)
} }
// Reset cookie attributes to correct ones
if (cookies) {
const opts = {
maxAge: 60 * 60 * 24 * 365 * 10,
sameSite: 'lax',
secure: true,
httpOnly: false,
path: '/',
}
if (cookies['auth-token']) {
setCookie(event, 'auth-token', cookies['auth-token'], opts)
}
if (cookies['color-mode']) {
setCookie(event, 'color-mode', cookies['color-mode'], opts)
}
if (cookies.cosmetics) {
setCookie(event, 'cosmetics', cookies.cosmetics, opts)
}
}
}) })
}) })