diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 64c63a2..2f6b2b8 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -5,10 +5,28 @@ mod udp; +use std::fs; + +use tauri::AppHandle; use udp::TauriUDPSocket; +#[tauri::command] +fn clear_cache(app_handle: AppHandle) -> Result<(), String> { + match app_handle.path_resolver().app_dir() { + Some(dir) => match fs::remove_dir_all(dir) { + Ok(_) => Ok(()), + Err(err) => match err.kind() { + std::io::ErrorKind::NotFound => Ok(()), + _ => Err(err.to_string()), + }, + }, + None => Err("Couldn't get cache directory.".into()), + } +} + fn main() { tauri::Builder::default() + .invoke_handler(tauri::generate_handler![clear_cache]) .plugin(TauriUDPSocket::default()) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/src/routes/settings.svelte b/src/routes/settings.svelte index 5a91bab..3d659d9 100644 --- a/src/routes/settings.svelte +++ b/src/routes/settings.svelte @@ -1,13 +1,34 @@