diff --git a/web/src/components/AuthFooter.tsx b/web/src/components/AuthFooter.tsx
index 8d02cdc13..061178c75 100644
--- a/web/src/components/AuthFooter.tsx
+++ b/web/src/components/AuthFooter.tsx
@@ -25,9 +25,9 @@ const AuthFooter = ({ className }: Props) => {
};
return (
-
-
-
+
+
+
);
};
diff --git a/web/src/components/LocalePicker.tsx b/web/src/components/LocalePicker.tsx
index 23ef1e325..cdadfb100 100644
--- a/web/src/components/LocalePicker.tsx
+++ b/web/src/components/LocalePicker.tsx
@@ -28,8 +28,13 @@ export const LocaleSearchList = (props: LocaleSearchListProps) => {
);
return (
-
-
+
+
{
aria-label={t("common.language")}
/>
-
+
{filteredLocales.map((locale) => (
))}
{filteredLocales.length === 0 && (
@@ -94,11 +101,11 @@ const LocalePicker = (props: LocalePickerProps) => {
diff --git a/web/src/components/LocaleSelect.tsx b/web/src/components/LocaleSelect.tsx
index 8c63bf10f..668dcc1a8 100644
--- a/web/src/components/LocaleSelect.tsx
+++ b/web/src/components/LocaleSelect.tsx
@@ -5,10 +5,11 @@ import { loadLocale } from "@/utils/i18n";
interface Props {
value: Locale;
onChange: (locale: Locale) => void;
+ className?: string;
}
const LocaleSelect: FC = (props: Props) => {
- const { onChange, value } = props;
+ const { className, onChange, value } = props;
const handleSelectChange = async (locale: Locale) => {
// Apply locale globally immediately
@@ -17,7 +18,7 @@ const LocaleSelect: FC = (props: Props) => {
onChange(locale);
};
- return ;
+ return ;
};
export default LocaleSelect;
diff --git a/web/src/components/ThemeSelect.tsx b/web/src/components/ThemeSelect.tsx
index c1bc253a5..eb562e73b 100644
--- a/web/src/components/ThemeSelect.tsx
+++ b/web/src/components/ThemeSelect.tsx
@@ -7,6 +7,7 @@ interface ThemeSelectProps {
value?: string;
onValueChange?: (theme: string) => void;
className?: string;
+ compact?: boolean;
}
const THEME_ICONS: Record = {
@@ -16,8 +17,9 @@ const THEME_ICONS: Record = {
paper: ,
};
-const ThemeSelect = ({ value, onValueChange, className }: ThemeSelectProps = {}) => {
+const ThemeSelect = ({ value, onValueChange, className, compact = false }: ThemeSelectProps = {}) => {
const currentTheme = value || "system";
+ const triggerLabel = currentTheme === "system" ? "System" : THEME_OPTIONS.find((option) => option.value === currentTheme)?.label;
const handleThemeChange = (newTheme: string) => {
// Apply theme globally immediately
@@ -31,8 +33,9 @@ const ThemeSelect = ({ value, onValueChange, className }: ThemeSelectProps = {})
return (