fix(ui): simplify login and suppress pointer focus ring on locale select
This commit is contained in:
@@ -12,6 +12,7 @@ export function FullHeader({ onLogout }: { onLogout?: () => Promise<void> }) {
|
||||
const user = useAuthUser();
|
||||
const [fullscreenPending, setFullscreenPending] = useState(false);
|
||||
const [logoutPending, setLogoutPending] = useState(false);
|
||||
const [languagePointerFocus, setLanguagePointerFocus] = useState(false);
|
||||
const [error, setError] = useState<string>();
|
||||
if (shell?.mode !== "full") return null;
|
||||
const fullscreenLabel = shell.fullscreen ? t("Exit fullscreen") : t("Enter fullscreen");
|
||||
@@ -41,7 +42,12 @@ export function FullHeader({ onLogout }: { onLogout?: () => Promise<void> }) {
|
||||
<span className="thot-full-header__brand">Thoth<span>II</span></span>
|
||||
<div className="thot-full-header__controls">
|
||||
<label className="sr-only" htmlFor="thot-ui-language">{t("Interface language")}</label>
|
||||
<select id="thot-ui-language" className="thot-shell-select" value={shell.locale} onChange={event => shell.changeLocale(event.target.value)}>
|
||||
<select id="thot-ui-language" className="thot-shell-select" value={shell.locale}
|
||||
data-pointer-focus={languagePointerFocus || undefined}
|
||||
onPointerDown={() => setLanguagePointerFocus(true)}
|
||||
onKeyDown={event => { if (event.key !== "Escape") setLanguagePointerFocus(false); }}
|
||||
onBlur={() => setLanguagePointerFocus(false)}
|
||||
onChange={event => shell.changeLocale(event.target.value)}>
|
||||
{availableLocales.map(({ code, name }) => <option key={code} value={code} lang={code}>{name}</option>)}
|
||||
</select>
|
||||
<Button variant="ghost" size="icon" aria-label={shell.theme === "light" ? t("Use dark theme") : t("Use light theme")}
|
||||
|
||||
Reference in New Issue
Block a user