"use client" import { useCallback, useEffect, useRef, useState } from "react" import { Lang, languages } from "@/constants/languages" import Link from "@/components/TempDesignSystem/Link" import styles from "./desktop.module.css" import type { LanguageSwitcherProps } from "@/types/components/current/languageSwitcher" export default function Desktop({ currentLanguage, urls, }: LanguageSwitcherProps) { const [isOpen, setIsOpen] = useState(false) const divRef = useRef(null) function toggleOpen() { setIsOpen((prevIsOpen) => !prevIsOpen) } const close = useCallback(() => { setIsOpen(false) }, [setIsOpen]) useEffect(() => { function handleClickOutside(evt: Event) { const target = evt.target as HTMLElement if (divRef.current && target && !divRef.current.contains(target)) { close() } } if (divRef.current) { document.addEventListener("click", handleClickOutside, false) } return () => { document.removeEventListener("click", handleClickOutside, false) } }, [close]) const urlKeys = Object.keys(urls) if (urlKeys.length === 1 && urlKeys[0] === currentLanguage) { return (
{languages[currentLanguage]}
) } return (
) }