Spaces:
Paused
Paused
| 'use client' | |
| import React from 'react' | |
| import { useTranslation } from 'react-i18next' | |
| import { useFeatures } from '../hooks' | |
| import type { OnFeaturesChange } from '../types' | |
| import FeatureModal from './feature-modal' | |
| import Button from '@/app/components/base/button' | |
| import { Plus } from '@/app/components/base/icons/src/vender/line/general' | |
| type ChooseFeatureProps = { | |
| onChange?: OnFeaturesChange | |
| disabled?: boolean | |
| } | |
| const ChooseFeature = ({ | |
| onChange, | |
| disabled, | |
| }: ChooseFeatureProps) => { | |
| const { t } = useTranslation() | |
| const showFeaturesModal = useFeatures(s => s.showFeaturesModal) | |
| const setShowFeaturesModal = useFeatures(s => s.setShowFeaturesModal) | |
| return ( | |
| <> | |
| <Button | |
| className={` | |
| px-3 py-0 h-8 rounded-lg border border-primary-100 bg-primary-25 shadow-xs text-xs font-semibold text-primary-600 | |
| ${disabled && 'cursor-not-allowed opacity-50'} | |
| `} | |
| onClick={() => !disabled && setShowFeaturesModal(true)} | |
| > | |
| <Plus className='mr-1 w-4 h-4' /> | |
| {t('appDebug.operation.addFeature')} | |
| </Button> | |
| { | |
| showFeaturesModal && ( | |
| <FeatureModal onChange={onChange} /> | |
| ) | |
| } | |
| </> | |
| ) | |
| } | |
| export default React.memo(ChooseFeature) | |