Settings: move lang and region to separate route

This commit is contained in:
thislight 2024-10-09 23:27:20 +08:00
parent 3783a156c1
commit 233134c25f
No known key found for this signature in database
GPG key ID: A50F9451AC56A63E
5 changed files with 55 additions and 62 deletions

View file

@ -41,15 +41,10 @@ import {
autoMatchLangTag,
autoMatchRegion,
createTranslator,
SUPPORTED_LANGS,
SUPPORTED_REGIONS,
useDateFnLocale,
} from "../platform/i18n.jsx";
import { type Template } from "@solid-primitives/i18n";
import BottomSheet from "../material/BottomSheet.jsx";
import ChooseLang from "./ChooseLang.jsx";
import ChooseRegion from "./ChooseRegion.jsx";
import { Portal } from "solid-js/web";
type Strings = {
["lang.auto"]: Template<{ detected: string }>;
@ -69,8 +64,6 @@ const Settings: ParentComponent = (props) => {
needRefresh: [needRefresh],
} = useRegisterSW();
const dateFnLocale = useDateFnLocale();
const [langPickerOpen, setLangPickerOpen] = createSignal(false);
const [regionPickerOpen, setRegionPickerOpen] = createSignal(false);
const [profiles] = useSignedInProfiles();
@ -175,7 +168,7 @@ const Settings: ParentComponent = (props) => {
</li>
<li>
<ListSubheader>{t("This Application")}</ListSubheader>
<ListItemButton onClick={[setLangPickerOpen, true]}>
<ListItemButton component={A} href="./language">
<ListItemIcon>
<TranslateIcon />
</ListItemIcon>
@ -192,15 +185,8 @@ const Settings: ParentComponent = (props) => {
{t("Language")}
</ListItemText>
</ListItemButton>
<BottomSheet open={langPickerOpen()}>
<ChooseLang
code={settings$().language}
onCodeChange={(nval) => $settings.setKey("language", nval)}
onClose={[setLangPickerOpen, false]}
/>
</BottomSheet>
<Divider />
<ListItemButton onClick={[setRegionPickerOpen, true]}>
<ListItemButton component={A} href="./region">
<ListItemIcon>
<PublicIcon />
</ListItemIcon>
@ -217,13 +203,6 @@ const Settings: ParentComponent = (props) => {
{t("Region")}
</ListItemText>
</ListItemButton>
<BottomSheet open={regionPickerOpen()}>
<ChooseRegion
code={settings$().region}
onCodeChange={(nval) => $settings.setKey("region", nval)}
onClose={[setRegionPickerOpen, false]}
/>
</BottomSheet>
<Divider />
<ListItem>
<ListItemText secondary={t("About Tutu.2nd")}>