fix saving language setting

This commit is contained in:
Roland Osborne 2025-02-28 16:11:05 -08:00
parent 82a4167979
commit b926cb46a7
2 changed files with 40 additions and 3 deletions

View File

@ -54,8 +54,8 @@ export function useContent() {
}
useEffect(() => {
const { layout } = display.state
updateState({ layout })
const { strings, layout } = display.state
updateState({ strings, layout })
}, [display.state])
useEffect(() => {

View File

@ -1,6 +1,6 @@
import { useEffect, useState } from 'react'
import { LightTheme, DarkTheme } from '../constants/Colors'
import { en, fr, sp, pt, de, ru } from '../constants/Strings'
import { en, fr, sp, pt, de, ru, el } from '../constants/Strings'
export function useDisplayContext() {
const [state, setState] = useState({
@ -217,6 +217,15 @@ export function useDisplayContext() {
{ value: 'light', label: ru.light },
],
})
} else if (language && language.startsWith('el')) {
updateState({
language: 'el',
strings: el,
themes: [
{ value: 'dark', label: el.dark },
{ value: 'light', label: el.light },
],
})
} else {
const browser = navigator.language
if (browser && browser.startsWith('fr')) {
@ -264,6 +273,15 @@ export function useDisplayContext() {
{ value: 'light', label: ru.light },
],
})
} else if (browser && browser.startsWith('el')) {
updateState({
language: 'el',
strings: el,
themes: [
{ value: 'dark', label: el.dark },
{ value: 'light', label: el.light },
],
})
} else {
updateState({
language: 'en',
@ -396,6 +414,16 @@ export function useDisplayContext() {
{ value: 'light', label: ru.light },
],
})
} else if (code && code.startsWith('el')) {
localStorage.setItem('language', 'el')
updateState({
language: 'el',
strings: el,
themes: [
{ value: 'dark', label: el.dark },
{ value: 'light', label: el.light },
],
})
} else {
localStorage.removeItem('language')
const browser = navigator.language
@ -444,6 +472,15 @@ export function useDisplayContext() {
{ value: 'light', label: ru.light },
],
})
} else if (browser && browser.startsWith('el')) {
updateState({
language: 'el',
strings: el,
themes: [
{ value: 'dark', label: el.dark },
{ value: 'light', label: el.light },
],
})
} else {
updateState({
language: 'en',