feat: share preferred_language cookie between subdomains

This commit is contained in:
DIYgod 2023-08-17 23:48:12 +01:00
parent 64909965e1
commit a2f052bbd9
No known key found for this signature in database
2 changed files with 12 additions and 5 deletions

View File

@ -18,10 +18,10 @@ export const useDarkModeListener = () => {
const isDarkMode = theme === "dark"
const colorScheme = isDarkMode ? COLOR_SCHEME_DARK : COLOR_SCHEME_LIGHT
const date = new Date()
date.setMonth(date.getMonth() + 1)
date.setFullYear(date.getFullYear() + 10)
document.cookie = IS_DEV
? `color_scheme=${colorScheme};`
: `color_scheme=${colorScheme}; Domain=.${OUR_DOMAIN}; Path=/; Secure; expires=${date.toUTCString()}`
: `color_scheme=${colorScheme}; Domain=.${OUR_DOMAIN}; Path=/; expires=${date.toUTCString()}`
}, [theme, systemTheme])
}

View File

@ -11,6 +11,8 @@ import { Trans as TransW } from "react-i18next/TransWithoutContext"
import { useLang } from "~/hooks/useLang"
import { IS_DEV } from "../constants"
import { OUR_DOMAIN } from "../env"
import { defaultNS, getOptions, languageNames, languages } from "./settings"
i18next
@ -40,12 +42,17 @@ export function isLanguageAuto() {
}
export function changeLanguage(language: string) {
let date
if (language === "auto") {
document.cookie =
"preferred_language=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"
language = ""
date = new Date("Thu, 01 Jan 1970 00:00:00 UTC")
} else {
document.cookie = `preferred_language=${language};`
date = new Date()
date.setFullYear(date.getFullYear() + 10)
}
document.cookie = IS_DEV
? `preferred_language=${language};`
: `preferred_language=${language}; Domain=.${OUR_DOMAIN}; Path=/; expires=${date.toUTCString()}`
window.location.reload()
}