diff --git a/packages/ee/multi-language/components/multi-language-card.tsx b/packages/ee/multi-language/components/multi-language-card.tsx index e243de8b06..400d3007de 100644 --- a/packages/ee/multi-language/components/multi-language-card.tsx +++ b/packages/ee/multi-language/components/multi-language-card.tsx @@ -4,7 +4,7 @@ import * as Collapsible from "@radix-ui/react-collapsible"; import { ArrowUpRight, Languages } from "lucide-react"; import Link from "next/link"; import type { FC } from "react"; -import { useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import { cn } from "@formbricks/lib/cn"; import { addMultiLanguageLabels, extractLanguageCodes } from "@formbricks/lib/i18n/utils"; import type { TLanguage, TProduct } from "@formbricks/types/product"; @@ -59,10 +59,9 @@ export const MultiLanguageCard: FC = ({ onConfirm: () => {}, }); - const [defaultLanguage, setDefaultLanguage] = useState( - localSurvey.languages.find((language) => { - return language.default; - })?.language + const defaultLanguage = useMemo( + () => localSurvey.languages.find((language) => language.default)?.language, + [localSurvey.languages] ); const setOpen = (open: boolean) => { @@ -73,6 +72,12 @@ export const MultiLanguageCard: FC = ({ } }; + useEffect(() => { + if (localSurvey.languages.length === 0) { + setIsMultiLanguageActivated(false); + } + }, [localSurvey.languages]); + const updateSurveyTranslations = (survey: TSurvey, updatedLanguages: TSurveyLanguage[]) => { const translatedSurveyResult = addMultiLanguageLabels(survey, extractLanguageCodes(updatedLanguages)); @@ -132,7 +137,6 @@ export const MultiLanguageCard: FC = ({ }); } - setDefaultLanguage(language); setConfirmationModalInfo({ ...confirmationModalInfo, open: false }); updateSurvey({ languages: newLanguages }); } @@ -150,7 +154,6 @@ export const MultiLanguageCard: FC = ({ onConfirm: () => { updateSurveyTranslations(localSurvey, []); setIsMultiLanguageActivated(false); - setDefaultLanguage(undefined); setConfirmationModalInfo({ ...confirmationModalInfo, open: false }); }, });