|
'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 |
|
|