i18n tweaks / layout fixes

This commit is contained in:
Henry Dollman
2024-10-29 18:08:55 -04:00
parent e64fad9584
commit f6e391f8a9
7 changed files with 120 additions and 107 deletions

View File

@@ -1,5 +1,5 @@
import { useEffect } from 'react'
import { GlobeIcon, Languages } from 'lucide-react'
import { LanguagesIcon } from 'lucide-react'
import { Button } from '@/components/ui/button'
import {
@@ -10,19 +10,20 @@ import {
} from '@/components/ui/dropdown-menu'
import { useTranslation } from 'react-i18next'
import languages from '../lib/languages.json'
import { cn } from '@/lib/utils'
export function LangToggle() {
const { i18n } = useTranslation();
const { i18n } = useTranslation()
useEffect(() => {
document.documentElement.lang = i18n.language;
}, [i18n.language]);
document.documentElement.lang = i18n.language
}, [i18n.language])
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant={'ghost'} size="icon">
<GlobeIcon className="absolute h-[1.2rem] w-[1.2rem]" />
<Button variant={'ghost'} size="icon" className="hidden 450:flex">
<LanguagesIcon className="absolute h-[1.2rem] w-[1.2rem]" />
<span className="sr-only">Language</span>
</Button>
</DropdownMenuTrigger>
@@ -30,7 +31,7 @@ export function LangToggle() {
{languages.map(({ lang, label }) => (
<DropdownMenuItem
key={lang}
className={lang === i18n.language ? 'font-bold' : ''}
className={cn('pl-4', lang === i18n.language ? 'font-bold' : '')}
onClick={() => i18n.changeLanguage(lang)}
>
{label}