about summary refs log tree commit diff
path: root/src/state/preferences/languages.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2024-04-13 19:49:52 -0700
committerGitHub <noreply@github.com>2024-04-13 19:49:52 -0700
commit0b43d728e4b95fe2f8085b8d01e34963f8663c0d (patch)
treea12b42404dfeff36837c3cfb761f429001663a6c /src/state/preferences/languages.tsx
parent23056daa292905b0019565dc0c42870037ed98fe (diff)
downloadvoidsky-0b43d728e4b95fe2f8085b8d01e34963f8663c0d.tar.zst
Improve the language behaviors around the PWI (#3545)
* Handle leftnav overflow with longer languages' copy

* Update the language dropdown to set ALL language prefs

* Add hackfix to language cachebusting on PWI

* Reset feeds on language change
Diffstat (limited to 'src/state/preferences/languages.tsx')
-rw-r--r--src/state/preferences/languages.tsx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/state/preferences/languages.tsx b/src/state/preferences/languages.tsx
index df774c05e..b7494c1f9 100644
--- a/src/state/preferences/languages.tsx
+++ b/src/state/preferences/languages.tsx
@@ -1,6 +1,7 @@
 import React from 'react'
-import * as persisted from '#/state/persisted'
+
 import {AppLanguage} from '#/locale/languages'
+import * as persisted from '#/state/persisted'
 
 type SetStateCb = (
   s: persisted.Schema['languagePrefs'],
@@ -9,6 +10,7 @@ type StateContext = persisted.Schema['languagePrefs']
 type ApiContext = {
   setPrimaryLanguage: (code2: string) => void
   setPostLanguage: (commaSeparatedLangCodes: string) => void
+  setContentLanguage: (code2: string) => void
   toggleContentLanguage: (code2: string) => void
   togglePostLanguage: (code2: string) => void
   savePostLanguageToHistory: () => void
@@ -21,6 +23,7 @@ const stateContext = React.createContext<StateContext>(
 const apiContext = React.createContext<ApiContext>({
   setPrimaryLanguage: (_: string) => {},
   setPostLanguage: (_: string) => {},
+  setContentLanguage: (_: string) => {},
   toggleContentLanguage: (_: string) => {},
   togglePostLanguage: (_: string) => {},
   savePostLanguageToHistory: () => {},
@@ -53,6 +56,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
       setPostLanguage(commaSeparatedLangCodes: string) {
         setStateWrapped(s => ({...s, postLanguage: commaSeparatedLangCodes}))
       },
+      setContentLanguage(code2: string) {
+        setStateWrapped(s => ({...s, contentLanguages: [code2]}))
+      },
       toggleContentLanguage(code2: string) {
         setStateWrapped(s => {
           const exists = s.contentLanguages.includes(code2)