diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-04-13 19:49:52 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-13 19:49:52 -0700 |
commit | 0b43d728e4b95fe2f8085b8d01e34963f8663c0d (patch) | |
tree | a12b42404dfeff36837c3cfb761f429001663a6c /src/state | |
parent | 23056daa292905b0019565dc0c42870037ed98fe (diff) | |
download | voidsky-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')
-rw-r--r-- | src/state/preferences/languages.tsx | 8 | ||||
-rw-r--r-- | src/state/queries/post-feed.ts | 8 |
2 files changed, 15 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) diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts index ee22bac69..3453a7764 100644 --- a/src/state/queries/post-feed.ts +++ b/src/state/queries/post-feed.ts @@ -459,6 +459,14 @@ function assertSomePostsPassModeration(feed: AppBskyFeedDefs.FeedViewPost[]) { } } +export function resetPostsFeedQueries(queryClient: QueryClient, timeout = 0) { + setTimeout(() => { + queryClient.resetQueries({ + predicate: query => query.queryKey[0] === RQKEY_ROOT, + }) + }, timeout) +} + export function resetProfilePostsQueries( queryClient: QueryClient, did: string, |