| 'use client' | |
| import { useTranslation } from 'react-i18next' | |
| import { XMarkIcon } from '@heroicons/react/20/solid' | |
| import InputCopy from './input-copy' | |
| import s from './style.module.css' | |
| import Button from '@/app/components/base/button' | |
| import Modal from '@/app/components/base/modal' | |
| import type { CreateApiKeyResponse } from '@/models/app' | |
| type ISecretKeyGenerateModalProps = { | |
| isShow: boolean | |
| onClose: () => void | |
| newKey?: CreateApiKeyResponse | |
| className?: string | |
| } | |
| const SecretKeyGenerateModal = ({ | |
| isShow = false, | |
| onClose, | |
| newKey, | |
| className, | |
| }: ISecretKeyGenerateModalProps) => { | |
| const { t } = useTranslation() | |
| return ( | |
| <Modal isShow={isShow} onClose={onClose} title={`${t('appApi.apiKeyModal.apiSecretKey')}`} className={`px-8 ${className}`}> | |
| <XMarkIcon className={`w-6 h-6 absolute cursor-pointer text-gray-500 ${s.close}`} onClick={onClose} /> | |
| <p className='mt-1 text-[13px] text-gray-500 font-normal leading-5'>{t('appApi.apiKeyModal.generateTips')}</p> | |
| <div className='my-4'> | |
| <InputCopy className='w-full' value={newKey?.token} /> | |
| </div> | |
| <div className='flex justify-end my-4'> | |
| <Button className={`flex-shrink-0 ${s.w64}`} onClick={onClose}> | |
| <span className='text-xs font-medium text-gray-800'>{t('appApi.actionMsg.ok')}</span> | |
| </Button> | |
| </div> | |
| </Modal > | |
| ) | |
| } | |
| export default SecretKeyGenerateModal | |