From 02aaabdc4e9b1570d81ff03fe1e6da0307f22999 Mon Sep 17 00:00:00 2001 From: Guy Ben-Aharon Date: Sat, 16 Nov 2024 20:29:48 +0200 Subject: [PATCH] fix(i18n): fix language nav: close when lang selected, hide tooltip when lang selected (#411) --- .../top-navbar/language-nav/language-nav.tsx | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/pages/editor-page/top-navbar/language-nav/language-nav.tsx b/src/pages/editor-page/top-navbar/language-nav/language-nav.tsx index ad6aa7db..8c7a6e7d 100644 --- a/src/pages/editor-page/top-navbar/language-nav/language-nav.tsx +++ b/src/pages/editor-page/top-navbar/language-nav/language-nav.tsx @@ -1,5 +1,4 @@ -import React, { useCallback, useMemo } from 'react'; -import { Button } from '@/components/button/button'; +import React, { useCallback, useMemo, useState } from 'react'; import { DropdownMenu, DropdownMenuContent, @@ -19,10 +18,13 @@ import type { } from '@/components/select-box/select-box'; import { SelectBox } from '@/components/select-box/select-box'; import { languages } from '@/i18n/i18n'; +import { cn } from '@/lib/utils'; +import { buttonVariants } from '@/components/button/button-variants'; export interface LanguageNavProps {} export const LanguageNav: React.FC = () => { const { t, i18n } = useTranslation(); + const [dropdownOpen, setDropdownOpen] = useState(false); const languagesOptions: SelectBoxOption[] = languages.map((lang) => ({ label: lang.nativeName, @@ -33,6 +35,7 @@ export const LanguageNav: React.FC = () => { const handleLanguageChange: SelectBoxProps['onChange'] = useCallback( (language: string | string[]) => { i18n.changeLanguage(language as string); + setDropdownOpen(false); }, [i18n] ); @@ -44,18 +47,22 @@ export const LanguageNav: React.FC = () => { }, [i18n, languagesOptions]); return ( - + - +