| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | import React, { type FC } from 'react'import { useTranslation } from 'react-i18next'import classNames from '@/utils/classnames'import type { SegmentDetailModel } from '@/models/datasets'import TagInput from '@/app/components/base/tag-input'type IKeywordsProps = {  segInfo?: Partial<SegmentDetailModel> & { id: string }  className?: string  keywords: string[]  onKeywordsChange: (keywords: string[]) => void  isEditMode?: boolean  actionType?: 'edit' | 'add' | 'view'}const Keywords: FC<IKeywordsProps> = ({  segInfo,  className,  keywords,  onKeywordsChange,  isEditMode,  actionType = 'view',}) => {  const { t } = useTranslation()  return (    <div className={classNames('flex flex-col', className)}>      <div className='text-text-tertiary system-xs-medium-uppercase'>{t('datasetDocuments.segment.keywords')}</div>      <div className='text-text-tertiary w-full max-h-[200px] overflow-auto flex flex-wrap gap-1'>        {(!segInfo?.keywords?.length && actionType === 'view')          ? '-'          : (            <TagInput              items={keywords}              onChange={newKeywords => onKeywordsChange(newKeywords)}              disableAdd={!isEditMode}              disableRemove={!isEditMode || (keywords.length === 1)}            />          )        }      </div>    </div>  )}Keywords.displayName = 'Keywords'export default React.memo(Keywords)
 |