import { For, onMount, type Component, type JSX, } from "solid-js"; import Scaffold from "~material/Scaffold"; import { AppBar, IconButton, List, ListItemButton, ListItemSecondaryAction, ListItemText, Radio, Toolbar, } from "@suid/material"; import { Close as CloseIcon } from "@suid/icons-material"; import iso639_1 from "iso-639-1"; import { createTranslator } from "~platform/i18n"; import { Title } from "~material/typography"; type ChooseTootLangProps = { code: string; onCodeChange: (ncode: string) => void; onClose?: JSX.EventHandlerUnion; }; const ChooseTootLang: Component = (props) => { let listRef: HTMLUListElement; const [t] = createTranslator( (code) => import(`./i18n/${code}.json`) as Promise<{ default: Record; }>, ); onMount(() => { const code = props.code; const el = listRef.querySelector(`[data-langcode="${code}"]`); if (el) { el.scrollIntoView({ behavior: "auto" }); } }); return ( {t("Choose Language")} } > {(code) => ( props.onCodeChange(code)} > {iso639_1.getNativeName(code)} )} ); }; export default ChooseTootLang;