forked from akanyan/STARTLINER
fix: update button enabling its package
This commit is contained in:
@ -102,16 +102,23 @@ pub async fn run(_args: Vec<String>) {
|
||||
});
|
||||
|
||||
app.listen("download-end", closure!(clone apph, |ev| {
|
||||
let raw = ev.payload();
|
||||
log::debug!("download-end triggered: {}", raw);
|
||||
let key = PkgKey(raw[1..raw.len()-1].to_owned());
|
||||
let apph = apph.clone();
|
||||
tauri::async_runtime::spawn(async move {
|
||||
let mutex = apph.state::<Mutex<AppData>>();
|
||||
let mut appd = mutex.lock().await;
|
||||
let res = appd.pkgs.install_package(&key, true, false).await;
|
||||
log::debug!("download-end install {:?}", res);
|
||||
});
|
||||
let payload = serde_json::from_str::<download_handler::DownloadEndPayload>(ev.payload());
|
||||
match payload {
|
||||
Ok(payload) => {
|
||||
log::debug!("download-end triggered: {:?}", payload);
|
||||
let key = payload.key;
|
||||
let apph = apph.clone();
|
||||
tauri::async_runtime::spawn(async move {
|
||||
let mutex = apph.state::<Mutex<AppData>>();
|
||||
let mut appd = mutex.lock().await;
|
||||
let res = appd.pkgs.install_package(&key, true, false, payload.enable).await;
|
||||
log::debug!("download-end install {:?}", res);
|
||||
});
|
||||
},
|
||||
Err(err) => {
|
||||
log::error!("invalid download payload: {err}");
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
app.listen("launch-end", closure!(clone apph, |_| {
|
||||
@ -134,11 +141,13 @@ pub async fn run(_args: Vec<String>) {
|
||||
tauri::async_runtime::spawn(async move {
|
||||
let mutex = apph.state::<Mutex<AppData>>();
|
||||
let mut appd = mutex.lock().await;
|
||||
let res = appd.toggle_package(payload.pkg.clone(), ToggleAction::EnableSelf);
|
||||
log::debug!(
|
||||
"install-end-prelude toggle {:?}",
|
||||
res
|
||||
);
|
||||
if payload.enable == true {
|
||||
let res = appd.toggle_package(payload.pkg.clone(), ToggleAction::EnableSelf);
|
||||
log::debug!(
|
||||
"install-end-prelude toggle {:?}",
|
||||
res
|
||||
);
|
||||
}
|
||||
use tauri::Emitter;
|
||||
let res = apph.emit("install-end", payload);
|
||||
log::debug!("install-end {:?}", res);
|
||||
@ -273,7 +282,7 @@ fn deep_link(app: AppHandle, args: Vec<String>) {
|
||||
let mut appd = mutex.lock().await;
|
||||
if appd.pkgs.is_offline() {
|
||||
log::warn!("Deep link installation failed: offline");
|
||||
} else if let Err(e) = appd.pkgs.install_package(&key, true, true).await {
|
||||
} else if let Err(e) = appd.pkgs.install_package(&key, true, true, true).await {
|
||||
log::warn!("Deep link installation failed: {}", e.to_string());
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user