| | |
| | | return ( |
| | | <div |
| | | tabIndex={-1} |
| | | className={cn('absolute bottom-2 right-0 top-14 z-10 flex outline-none')} |
| | | className={cn('absolute top-14 right-0 bottom-2 flex z-10 outline-none')} |
| | | > |
| | | <div |
| | | className={cn( |
| | | 'relative flex h-full w-[420px] flex-col rounded-l-2xl border border-components-panel-border bg-components-panel-bg-alt', |
| | | 'relative flex flex-col w-[420px] bg-components-panel-bg-alt rounded-l-2xl h-full border border-components-panel-border', |
| | | )} |
| | | > |
| | | <div className='flex items-start self-stretch p-4 pb-0'> |
| | | <div className='flex grow flex-col items-start gap-1'> |
| | | <div className='system-xl-semibold self-stretch text-text-primary'>{t('dataset.externalAPIPanelTitle')}</div> |
| | | <div className='body-xs-regular self-stretch text-text-tertiary'>{t('dataset.externalAPIPanelDescription')}</div> |
| | | <a className='flex cursor-pointer items-center justify-center gap-1 self-stretch' href='https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' target='_blank'> |
| | | <RiBookOpenLine className='h-3 w-3 text-text-accent' /> |
| | | <div className='body-xs-regular grow text-text-accent'>{t('dataset.externalAPIPanelDocumentation')}</div> |
| | | <div className='flex flex-col items-start gap-1 flex-grow'> |
| | | <div className='self-stretch text-text-primary system-xl-semibold'>{t('dataset.externalAPIPanelTitle')}</div> |
| | | <div className='self-stretch text-text-tertiary body-xs-regular'>{t('dataset.externalAPIPanelDescription')}</div> |
| | | <a className='flex justify-center items-center gap-1 self-stretch cursor-pointer' href='https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation' target='_blank'> |
| | | <RiBookOpenLine className='w-3 h-3 text-text-accent' /> |
| | | <div className='flex-grow text-text-accent body-xs-regular'>{t('dataset.externalAPIPanelDocumentation')}</div> |
| | | </a> |
| | | </div> |
| | | <div className='flex items-center'> |
| | | <ActionButton onClick={() => onClose()}> |
| | | <RiCloseLine className='h-4 w-4 text-text-tertiary' /> |
| | | <RiCloseLine className='w-4 h-4 text-text-tertiary' /> |
| | | </ActionButton> |
| | | </div> |
| | | </div> |
| | | <div className='flex flex-col items-start justify-center gap-2 self-stretch px-4 py-3'> |
| | | <div className='flex px-4 py-3 flex-col justify-center items-start gap-2 self-stretch'> |
| | | <Button |
| | | variant={'primary'} |
| | | className='flex items-center justify-center gap-0.5 px-3 py-2' |
| | | className='flex justify-center items-center px-3 py-2 gap-0.5' |
| | | onClick={handleOpenExternalAPIModal} |
| | | > |
| | | <RiAddLine className='h-4 w-4 text-components-button-primary-text' /> |
| | | <div className='system-sm-medium text-components-button-primary-text'>{t('dataset.createExternalAPI')}</div> |
| | | <RiAddLine className='w-4 h-4 text-components-button-primary-text' /> |
| | | <div className='text-components-button-primary-text system-sm-medium'>{t('dataset.createExternalAPI')}</div> |
| | | </Button> |
| | | </div> |
| | | <div className='flex grow flex-col items-start gap-1 self-stretch px-4 py-0'> |
| | | <div className='flex py-0 px-4 flex-col items-start gap-1 flex-grow self-stretch'> |
| | | {isLoading |
| | | ? ( |
| | | <Loading /> |