'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 type 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( '!hover:bg-components-button-tertiary-bg !mx-1 rounded-md !border-0 !bg-components-button-tertiary-bg !px-1.5 !py-1', disabled ? 'bg-components-button-tertiary-bg-disabled' : '', )} className='!left-1 !z-20 h-fit !w-[140px] !translate-x-0' /> ) } export default React.memo(LanguageSelect)