From 01be49061d4e5696a46ae6d646764d7a1c3b5b87 Mon Sep 17 00:00:00 2001 From: Hydrogenbear Date: Mon, 22 Apr 2024 09:08:25 +0800 Subject: [PATCH] Add a search parameter that makes it easier for people to share links in their preferred language. --- client/src/app.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/client/src/app.tsx b/client/src/app.tsx index 42c5531..a6e4834 100644 --- a/client/src/app.tsx +++ b/client/src/app.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { Outlet, useParams } from "react-router-dom"; +import { Outlet, useParams, useSearchParams } from "react-router-dom"; import '@fontsource/roboto/300.css'; import '@fontsource/roboto/400.css'; @@ -18,13 +18,18 @@ function App() { const params = useParams() const gameId = "g/" + params.owner + "/" + params.repo + const [searchParams, ] = useSearchParams() - const {mobile, layout, isSavePreferences, language, setLayout, setIsSavePreferences, setLanguage} = UsePreferences() + const lang = searchParams.get("lang") + const {mobile, layout, isSavePreferences, language, setLayout, setIsSavePreferences, setLanguage} = UsePreferences() React.useEffect(() => { - i18n.changeLanguage(language) - }, [language]) - + if (lang) { + i18n.changeLanguage(lang) + } else { + i18n.changeLanguage(language) + } + }, [language, lang]) return (