import styles from "./Panes.module.scss"; import { Text } from "preact-i18n"; import { dispatch } from "../../../redux"; import { connectState } from "../../../redux/connector"; import { Language, LanguageEntry, Languages as Langs, } from "../../../context/Locale"; import Emoji from "../../../components/common/Emoji"; import Checkbox from "../../../components/ui/Checkbox"; import Tip from "../../../components/ui/Tip"; type Props = { locale: Language; }; type Key = [string, LanguageEntry]; function Entry({ entry: [x, lang], locale }: { entry: Key } & Props) { return ( { if (v) { dispatch({ type: "SET_LOCALE", locale: x as Language, }); } }}>
{lang.display}
); } export function Component(props: Props) { const languages = Object.keys(Langs).map((x) => [ x, Langs[x as keyof typeof Langs], ]) as Key[]; return (

{languages .filter(([, lang]) => !lang.alt) .map(([x, lang]) => ( ))}

{languages .filter(([, lang]) => lang.alt) .map(([x, lang]) => ( ))}
{" "}
); } export const Languages = connectState(Component, (state) => { return { locale: state.locale, }; });