chore & auto dep

This commit is contained in:
josc146
2023-05-20 23:34:33 +08:00
parent 9076ff3fd7
commit b8f7582513
15 changed files with 291 additions and 53 deletions

View File

@@ -256,7 +256,7 @@ export const Configs: FC = observer(() => {
toast(`${t('Convert Success')} - ${newModelPath}`, {type: 'success'});
refreshLocalModels({models: commonStore.modelSourceList}, false);
}).catch(e => {
toast(`${t('Convert Failed')} - ${e}`, {type: 'error'});
toast(`${t('Convert Failed')} - ${e.message || e}`, {type: 'error'});
});
} else {
toast(`${t('Model Not Found')} - ${modelPath}`, {type: 'error'});

View File

@@ -4,7 +4,7 @@ import {Page} from '../components/Page';
import {observer} from 'mobx-react-lite';
import commonStore from '../stores/commonStore';
import {Divider, Field, ProgressBar} from '@fluentui/react-components';
import {bytesToGb, bytesToMb, refreshLocalModels} from '../utils';
import {bytesToGb, bytesToKb, bytesToMb, refreshLocalModels} from '../utils';
import {ToolTipButton} from '../components/ToolTipButton';
import {Folder20Regular, Pause20Regular, Play20Regular} from '@fluentui/react-icons';
import {ContinueDownload, OpenFileFolder, PauseDownload} from '../../wailsjs/go/backend_golang/App';
@@ -23,21 +23,31 @@ export type DownloadStatus = {
export const Downloads: FC = observer(() => {
const {t} = useTranslation();
const finishedDownloads = commonStore.downloadList.filter((status) => status.done).length;
const finishedModelsLen = commonStore.downloadList.filter((status) => status.done && status.name.endsWith('.pth')).length;
useEffect(() => {
if (finishedDownloads > 0)
if (finishedModelsLen > 0)
refreshLocalModels({models: commonStore.modelSourceList}, false);
console.log('finishedDownloads:', finishedDownloads);
}, [finishedDownloads]);
console.log('finishedModelsLen:', finishedModelsLen);
}, [finishedModelsLen]);
return (
<Page title={t('Downloads')} content={
<div className="flex flex-col gap-2 overflow-y-auto overflow-x-hidden p-1">
{commonStore.downloadList.map((status, index) => (
<div className="flex flex-col gap-1" key={index}>
{commonStore.downloadList.slice().reverse().map((status, index) => {
const downloadProgress = `${status.progress.toFixed(2)}%`;
const downloadSpeed = `${status.downloading ? bytesToMb(status.speed) : '0'}MB/s`;
let downloadDetails: string;
if (status.size < 1024 * 1024)
downloadDetails = `${bytesToKb(status.transferred) + 'KB'}/${bytesToKb(status.size) + 'KB'}`;
else if (status.size < 1024 * 1024 * 1024)
downloadDetails = `${bytesToMb(status.transferred) + 'MB'}/${bytesToMb(status.size) + 'MB'}`;
else
downloadDetails = `${bytesToGb(status.transferred) + 'GB'}/${bytesToGb(status.size) + 'GB'}`;
return <div className="flex flex-col gap-1" key={index}>
<Field
label={`${status.downloading ? (t('Downloading') + ': ') : ''}${status.name}`}
validationMessage={`${status.progress.toFixed(2)}% - ${bytesToGb(status.transferred) + 'GB'}/${bytesToGb(status.size) + 'GB'} - ${status.downloading ? bytesToMb(status.speed) : 0}MB/s - ${status.url}`}
validationMessage={`${downloadProgress} - ${downloadDetails} - ${downloadSpeed} - ${status.url}`}
validationState={status.done ? 'success' : 'none'}
>
<div className="flex items-center gap-2">
@@ -57,8 +67,8 @@ export const Downloads: FC = observer(() => {
</div>
</Field>
<Divider style={{flexGrow: 0}}/>
</div>
))
</div>;
})
}
</div>
}/>