|
'use client' |
|
|
|
import type { FC } from 'react' |
|
import { useTranslation } from 'react-i18next' |
|
import CopyFeedback from '@/app/components/base/copy-feedback' |
|
import SecretKeyButton from '@/app/components/develop/secret-key/secret-key-button' |
|
import { randomString } from '@/utils' |
|
|
|
type ApiServerProps = { |
|
apiBaseUrl: string |
|
} |
|
const ApiServer: FC<ApiServerProps> = ({ |
|
apiBaseUrl, |
|
}) => { |
|
const { t } = useTranslation() |
|
|
|
return ( |
|
<div className='flex items-center flex-wrap gap-y-2'> |
|
<div className='flex items-center mr-2 pl-1.5 pr-1 h-8 bg-white/80 border-[0.5px] border-white rounded-lg leading-5'> |
|
<div className='mr-0.5 px-1.5 h-5 border border-gray-200 text-[11px] text-gray-500 rounded-md shrink-0'>{t('appApi.apiServer')}</div> |
|
<div className='px-1 truncate w-fit sm:w-[248px] text-[13px] font-medium text-gray-800'>{apiBaseUrl}</div> |
|
<div className='mx-1 w-[1px] h-[14px] bg-gray-200'></div> |
|
<CopyFeedback |
|
content={apiBaseUrl} |
|
selectorId={randomString(8)} |
|
className={'!w-6 !h-6 hover:bg-gray-200'} |
|
/> |
|
</div> |
|
<div className='flex items-center mr-2 px-3 h-8 bg-[#ECFDF3] text-xs font-semibold text-[#039855] rounded-lg border-[0.5px] border-[#D1FADF]'> |
|
{t('appApi.ok')} |
|
</div> |
|
<SecretKeyButton |
|
className='flex-shrink-0 !h-8 bg-white' |
|
textCls='!text-gray-700 font-medium' |
|
iconCls='stroke-[1.2px]' |
|
/> |
|
</div> |
|
) |
|
} |
|
|
|
export default ApiServer |
|
|