diff --git a/src-tauri/src/downloader.rs b/src-tauri/src/downloader.rs index 5bb1005..de0b187 100644 --- a/src-tauri/src/downloader.rs +++ b/src-tauri/src/downloader.rs @@ -20,7 +20,7 @@ pub async fn download_file(window: tauri::Window, url: &str, path: &str) -> Resu .or(Err(format!("Failed to get {}", url)))?; let total_size = res .content_length() - .ok_or(format!("Failed to get content length from '{}'", &url))?; + .unwrap_or(0); // Create file path let mut file = File::create(path).or(Err(format!("Failed to create file '{}'", path)))?; diff --git a/src/ui/App.tsx b/src/ui/App.tsx index ba1ef67..82f985a 100644 --- a/src/ui/App.tsx +++ b/src/ui/App.tsx @@ -3,6 +3,9 @@ import { invoke } from '@tauri-apps/api/tauri' import './App.css' import './custom.css' +/* FOR TESTING */ +import DownloadHandler from '../utils/download' + // Config import { getConfig, saveConfig } from '../utils/configuration' @@ -11,6 +14,8 @@ import Topbar from './components/TopBar' import BigButton from './components/common/BigButton' import Checkbox from './components/common/Checkbox' +const downloadHandler = new DownloadHandler() + async function playGame() { const config = await getConfig() @@ -20,6 +25,21 @@ async function playGame() { await invoke('run_program', { path: config.game_path }) } +async function download() { + const path = 'S:/Cultivation/grassclipper.zip' + const url = 'https://github.com/Grasscutters/GrassClipper/releases/download/v0.9.7/GrassClipper.zip' + downloadHandler.addDownload(url, path) + + const intv = setInterval(() => { + const prog = downloadHandler.getDownloadProgress(path) + console.log(prog) + + if (prog.status === 'finished') { + clearInterval(intv) + } + }, 500) +} + async function toggleGrasscutter() { const config = await getConfig() @@ -32,6 +52,9 @@ function App() { return (