import Logo from '@/assets/images/gpustack-logo.png'; import { GPUStackVersionAtom, UpdateCheckAtom, userAtom } from '@/atoms/user'; import externalLinks from '@/constants/external-links'; import { Button } from 'antd'; import { useAtom } from 'jotai'; import React from 'react'; import './index.less'; const VersionInfo: React.FC<{ intl: any }> = ({ intl }) => { const [gpuStackVersionAtom] = useAtom(GPUStackVersionAtom); const [userDataAtom] = useAtom(userAtom); const [updateCheck] = useAtom(UpdateCheckAtom); // current version info const { version: currentVersion, git_commit, isProd, isDev } = gpuStackVersionAtom; // user info const { is_admin } = userDataAtom || {}; // update check latest version info const { latest_version: latestVersion } = updateCheck; const uiVersion = document.documentElement.getAttribute('data-version'); return (
logo
{isProd && ( {intl.formatMessage({ id: 'common.footer.version' })} )} {isProd ? ( {currentVersion || git_commit} ) : ( {' '} {intl.formatMessage({ id: 'common.footer.version.server' })} {isDev ? git_commit : currentVersion} UI {uiVersion} )}
{is_admin && isProd && (
{latestVersion && latestVersion !== currentVersion && !isDev ? intl.formatMessage( { id: 'users.version.update' }, { version: latestVersion } ) : intl.formatMessage( { id: 'users.version.islatest' }, { version: currentVersion } )}
)}
); }; export const modalConfig = { icon: null, centered: false, mask: { closable: true }, footer: null, style: { top: '30%' }, width: 400 }; export default VersionInfo;