| | |
| | | import Link from 'next/link' |
| | | import dayjs from 'dayjs' |
| | | import { RiCloseLine } from '@remixicon/react' |
| | | import s from './index.module.css' |
| | | import classNames from '@/utils/classnames' |
| | | import Modal from '@/app/components/base/modal' |
| | | import Button from '@/app/components/base/button' |
| | | import type { LangGeniusVersionResponse } from '@/models/common' |
| | | import { IS_CE_EDITION } from '@/config' |
| | | import DifyLogo from '@/app/components/base/logo/dify-logo' |
| | | import { noop } from 'lodash-es' |
| | | import LogoSite from '@/app/components/base/logo/logo-site' |
| | | |
| | | type IAccountSettingProps = { |
| | | langeniusVersionInfo: LangGeniusVersionResponse |
| | | onCancel: () => void |
| | | } |
| | | |
| | | const buttonClassName = ` |
| | | shrink-0 flex items-center h-8 px-3 rounded-lg border border-gray-200 |
| | | text-xs text-gray-800 font-medium |
| | | ` |
| | | export default function AccountAbout({ |
| | | langeniusVersionInfo, |
| | | onCancel, |
| | |
| | | return ( |
| | | <Modal |
| | | isShow |
| | | onClose={noop} |
| | | className='!w-[480px] !max-w-[480px] !px-6 !py-4' |
| | | onClose={() => { }} |
| | | className={s.modal} |
| | | > |
| | | <div> |
| | | <div className='absolute right-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center' onClick={onCancel}> |
| | | <RiCloseLine className='h-4 w-4 text-text-tertiary' /> |
| | | <div className='relative pt-4'> |
| | | <div className='absolute -top-2 -right-4 flex justify-center items-center w-8 h-8 cursor-pointer' onClick={onCancel}> |
| | | <RiCloseLine className='w-4 h-4 text-gray-500' /> |
| | | </div> |
| | | <div className='flex flex-col items-center gap-4 py-8'> |
| | | <DifyLogo size='large' className='mx-auto' /> |
| | | <div className='text-center text-xs font-normal text-text-tertiary'>Version {langeniusVersionInfo?.current_version}</div> |
| | | <div className='flex flex-col items-center gap-2 text-center text-xs font-normal text-text-secondary'> |
| | | <div> |
| | | <LogoSite className='mx-auto mb-2' /> |
| | | <div className='mb-3 text-center text-xs font-normal text-gray-500'>Version {langeniusVersionInfo?.current_version}</div> |
| | | <div className='mb-4 text-center text-xs font-normal text-gray-700'> |
| | | <div>© {dayjs().year()} LangGenius, Inc., Contributors.</div> |
| | | <div className='text-text-accent'> |
| | | <div className='text-[#1C64F2]'> |
| | | { |
| | | IS_CE_EDITION |
| | | ? <Link href={'https://github.com/langgenius/dify/blob/main/LICENSE'} target='_blank' rel='noopener noreferrer'>Open Source License</Link> |
| | | : <> |
| | | <Link href='https://dify.ai/privacy' target='_blank' rel='noopener noreferrer'>Privacy Policy</Link>, |
| | | <Link href='https://dify.ai/privacy' target='_blank' rel='noopener noreferrer'>Privacy Policy</Link>,<span> </span> |
| | | <Link href='https://dify.ai/terms' target='_blank' rel='noopener noreferrer'>Terms of Service</Link> |
| | | </> |
| | | } |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div className='-mx-8 mb-4 h-[0.5px] bg-divider-regular' /> |
| | | <div className='flex items-center justify-between'> |
| | | <div className='text-xs font-medium text-text-tertiary'> |
| | | <div className='mb-4 -mx-8 h-[0.5px] bg-gray-200' /> |
| | | <div className='flex justify-between items-center'> |
| | | <div className='text-xs font-medium text-gray-800'> |
| | | { |
| | | isLatest |
| | | ? t('common.about.latestAvailable', { version: langeniusVersionInfo.latest_version }) |
| | |
| | | } |
| | | </div> |
| | | <div className='flex items-center'> |
| | | <Button className='mr-2' size='small'> |
| | | <Link |
| | | href={'https://github.com/langgenius/dify/releases'} |
| | | target='_blank' rel='noopener noreferrer' |
| | | > |
| | | {t('common.about.changeLog')} |
| | | </Link> |
| | | </Button> |
| | | <Link |
| | | className={classNames(buttonClassName, 'mr-2')} |
| | | href={'https://github.com/langgenius/dify/releases'} |
| | | target='_blank' rel='noopener noreferrer' |
| | | > |
| | | {t('common.about.changeLog')} |
| | | </Link> |
| | | { |
| | | !isLatest && !IS_CE_EDITION && ( |
| | | <Button variant='primary' size='small'> |
| | | <Link |
| | | href={langeniusVersionInfo.release_notes} |
| | | target='_blank' rel='noopener noreferrer' |
| | | > |
| | | {t('common.about.updateNow')} |
| | | </Link> |
| | | </Button> |
| | | <Link |
| | | className={classNames(buttonClassName, 'text-primary-600')} |
| | | href={langeniusVersionInfo.release_notes} |
| | | target='_blank' rel='noopener noreferrer' |
| | | > |
| | | {t('common.about.updateNow')} |
| | | </Link> |
| | | ) |
| | | } |
| | | </div> |