From 84b47200fc0b3bcb79ef9ce6f03a70db2b30e8a9 Mon Sep 17 00:00:00 2001 From: SamP231004 Date: Mon, 10 Nov 2025 22:50:35 +0530 Subject: [PATCH] fix(sidebar): ensure language & theme buttons visible in mobile drawer --- src/app/(main)/MobileNav.tsx | 2 + src/components/input/MobileLanguageButton.tsx | 74 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 src/components/input/MobileLanguageButton.tsx diff --git a/src/app/(main)/MobileNav.tsx b/src/app/(main)/MobileNav.tsx index a1944960..934c43fa 100644 --- a/src/app/(main)/MobileNav.tsx +++ b/src/app/(main)/MobileNav.tsx @@ -8,6 +8,7 @@ import { Grid, IconLabel, NavMenu, NavMenuItem, Row, Text } from '@umami/react-z import Link from 'next/link'; import { AdminNav } from './admin/AdminNav'; import { SettingsNav } from './settings/SettingsNav'; +import { MobileLanguageButton } from '@/components/input/MobileLanguageButton'; export function MobileNav() { const { formatMessage, labels } = useMessages(); @@ -54,6 +55,7 @@ export function MobileNav() { ); })} + {websiteId && } {isAdmin && } {isSettings && } diff --git a/src/components/input/MobileLanguageButton.tsx b/src/components/input/MobileLanguageButton.tsx new file mode 100644 index 00000000..e53be70e --- /dev/null +++ b/src/components/input/MobileLanguageButton.tsx @@ -0,0 +1,74 @@ +import { Icon, Button, MenuTrigger, Popover, Grid, Text, Dialog, Row } from '@umami/react-zen'; +import { languages } from '@/lib/lang'; +import { useLocale } from '@/components/hooks'; +import { Globe } from 'lucide-react'; +import { ThemeButton } from '@umami/react-zen'; + +export function MobileLanguageButton() { + const { locale, saveLocale } = useLocale(); + const items = Object.keys(languages).map(key => ({ ...languages[key], value: key })); + + function handleSelect(value: string) { + saveLocale(value); + } + + return ( + + + + + + + {items.map(({ value, label }) => ( + + ))} + + + + + + + ); +}