2023-05-15 08:51:32 +08:00
|
|
|
'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,
|
2023-07-21 11:15:00 +08:00
|
|
|
className,
|
2023-05-15 08:51:32 +08:00
|
|
|
}: ISecretKeyGenerateModalProps) => {
|
|
|
|
const { t } = useTranslation()
|
|
|
|
return (
|
|
|
|
<Modal isShow={isShow} onClose={onClose} title={`${t('appApi.apiKeyModal.apiSecretKey')}`} className={`px-8 ${className}`}>
|
2025-03-21 17:41:03 +08:00
|
|
|
<XMarkIcon className={`absolute h-6 w-6 cursor-pointer text-text-tertiary ${s.close}`} onClick={onClose} />
|
|
|
|
<p className='mt-1 text-[13px] font-normal leading-5 text-text-tertiary'>{t('appApi.apiKeyModal.generateTips')}</p>
|
2023-05-15 08:51:32 +08:00
|
|
|
<div className='my-4'>
|
|
|
|
<InputCopy className='w-full' value={newKey?.token} />
|
|
|
|
</div>
|
2025-03-21 17:41:03 +08:00
|
|
|
<div className='my-4 flex justify-end'>
|
2025-02-17 17:05:13 +08:00
|
|
|
<Button className={`shrink-0 ${s.w64}`} onClick={onClose}>
|
|
|
|
<span className='text-xs font-medium text-text-secondary'>{t('appApi.actionMsg.ok')}</span>
|
2023-05-15 08:51:32 +08:00
|
|
|
</Button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</Modal >
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default SecretKeyGenerateModal
|