diff options
Diffstat (limited to 'packages/web-util/src/hooks/useLang.ts')
-rw-r--r-- | packages/web-util/src/hooks/useLang.ts | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/packages/web-util/src/hooks/useLang.ts b/packages/web-util/src/hooks/useLang.ts index 5b02c5255..9888cc51a 100644 --- a/packages/web-util/src/hooks/useLang.ts +++ b/packages/web-util/src/hooks/useLang.ts @@ -14,17 +14,16 @@ GNU Anastasis; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { useNotNullLocalStorage } from "./useLocalStorage.js"; +import { LocalStorageState, useLocalStorage } from "./useLocalStorage.js"; function getBrowserLang(): string | undefined { + if (typeof window === "undefined") return undefined; if (window.navigator.languages) return window.navigator.languages[0]; if (window.navigator.language) return window.navigator.language; return undefined; } -export function useLang( - initial?: string, -): [string, (s: string) => void, boolean] { +export function useLang(initial?: string): Required<LocalStorageState> { const defaultLang = (getBrowserLang() || initial || "en").substring(0, 2); - return useNotNullLocalStorage("lang-preference", defaultLang); + return useLocalStorage("lang-preference", defaultLang); } |