import ProgressBar from '@/_components/ProgressBar' import SystemItem from '@containers/SystemItem' import { useAtomValue } from 'jotai' import { appDownloadProgress } from '@helpers/JotaiWrapper' import useGetAppVersion from '@hooks/useGetAppVersion' import useGetSystemResources from '@hooks/useGetSystemResources' import { modelDownloadStateAtom } from '@helpers/atoms/DownloadState.atom' import { formatDownloadPercentage } from '@utils/converter' import { activeModelAtom } from '@helpers/atoms/Model.atom' const MonitorBar: React.FC = () => { const progress = useAtomValue(appDownloadProgress) const activeModel = useAtomValue(activeModelAtom) const { version } = useGetAppVersion() const { ram, cpu } = useGetSystemResources() const modelDownloadStates = useAtomValue(modelDownloadStateAtom) const downloadStates: DownloadState[] = [] for (const [, value] of Object.entries(modelDownloadStates)) { downloadStates.push(value) } return (
{progress && progress >= 0 ? ( ) : null}
{downloadStates.length > 0 && ( )} {activeModel && ( )} v{version}
) } export default MonitorBar