d7fb7b7a7b
Build & Deploy / Build & Push Docker Image (push) Failing after 47s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / API Unit Tests (push) Failing after 5m4s
Test / Marketplace Unit Tests (push) Failing after 4m55s
Test / Admin Unit Tests (push) Successful in 9m37s
Test / Dashboard Unit Tests (push) Successful in 9m37s
Test / API Integration Tests (push) Successful in 9m54s
19 lines
593 B
TypeScript
19 lines
593 B
TypeScript
import { localeCookie, localeCookieMaxAgeSeconds, localeStorageKey, type Locale } from './config';
|
|
|
|
export function persistLocale(locale: Locale): void {
|
|
try {
|
|
window.localStorage.setItem(localeStorageKey, locale);
|
|
} catch {
|
|
// The route and first-party cookie remain sufficient when storage is unavailable.
|
|
}
|
|
|
|
const secure = window.location.protocol === 'https:' ? '; Secure' : '';
|
|
document.cookie =
|
|
[
|
|
`${localeCookie}=${encodeURIComponent(locale)}`,
|
|
'Path=/',
|
|
`Max-Age=${localeCookieMaxAgeSeconds}`,
|
|
'SameSite=Lax',
|
|
].join('; ') + secure;
|
|
}
|