import { ChevronDown } from "lucide-react"; import { useRef, useState } from "react"; import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside"; import { TSurveyLanguage } from "@formbricks/types/surveys"; import { getLanguageLabel } from "../lib/isoLanguages"; interface LanguageIndicatorProps { selectedLanguageCode: string; surveyLanguages: TSurveyLanguage[]; setSelectedLanguageCode: (languageCode: string) => void; setFirstRender?: (firstRender: boolean) => void; } export function LanguageIndicator({ surveyLanguages, selectedLanguageCode, setSelectedLanguageCode, setFirstRender, }: LanguageIndicatorProps) { const [showLanguageDropdown, setShowLanguageDropdown] = useState(false); const toggleDropdown = () => setShowLanguageDropdown((prev) => !prev); const languageDropdownRef = useRef(null); const changeLanguage = (language: TSurveyLanguage) => { setSelectedLanguageCode(language.language.code); if (setFirstRender) { //for lexical editor setFirstRender(true); } setShowLanguageDropdown(false); }; const langaugeToBeDisplayed = surveyLanguages.find((language) => { return selectedLanguageCode === "default" ? language.default === true : language.language.code === selectedLanguageCode; }); useClickOutside(languageDropdownRef, () => setShowLanguageDropdown(false)); return (
{showLanguageDropdown && (
{surveyLanguages.map( (language) => language.language.code !== langaugeToBeDisplayed?.language.code && ( ) )}
)}
); }