'use client' import type { FC } from 'react' import React from 'react' import { RiArrowDownSLine, RiCheckLine } from '@remixicon/react' import cn from '@/utils/classnames' import Popover from '@/app/components/base/popover' import { languages } from '@/i18n/language' export interface ILanguageSelectProps { currentLanguage: string onSelect: (language: string) => void disabled?: boolean } const LanguageSelect: FC = ({ currentLanguage, onSelect, disabled, }) => { return ( {languages.filter(language => language.supported).map(({ prompt_name }) => (
onSelect(prompt_name)} > {prompt_name} {(currentLanguage === prompt_name) && }
))} } btnElement={
{currentLanguage}
} btnClassName={() => cn( '!border-0 rounded-md !px-1.5 !py-1 !mx-1 !bg-components-button-tertiary-bg !hover:bg-components-button-tertiary-bg', disabled ? 'bg-components-button-tertiary-bg-disabled' : '', )} className='!w-[140px] h-fit !z-20 !translate-x-0 !left-1' /> ) } export default React.memo(LanguageSelect)