"use client" import { classNames } from "@repo/config-tailwind/classNames" import { usePathname, useRouter } from "@repo/i18n/routing" import type { Locale } from "@repo/utils/constants" import { LOCALES } from "@repo/utils/constants" import { useLocale } from "next-intl" import { useEffect, useRef } from "react" import { useBoolean } from "@repo/react-hooks/useBoolean" import { Arrow } from "./Arrow.tsx" import { LocaleFlag } from "./LocaleFlag.tsx" export interface LocalesProps {} export const Locales: React.FC = () => { const router = useRouter() const pathname = usePathname() const localeCurrent = useLocale() as Locale const { value: isVisibleMenu, toggle: toggleMenu, setFalse: hideMenu, } = useBoolean() const languageClickRef = useRef(null) useEffect(() => { const handleClickEvent = (event: MouseEvent): void => { if (languageClickRef.current == null || event.target == null) { return } if (!languageClickRef.current.contains(event.target as Node)) { hideMenu() } } window.document.addEventListener("click", handleClickEvent) return () => { return window.removeEventListener("click", handleClickEvent) } }, [hideMenu]) if (pathname.startsWith("/blog")) { return <> } return (
    {LOCALES.filter((locale) => { return locale !== localeCurrent }).map((locale) => { return (
  • ) })}
) }