mirror of
https://github.com/ALEZ-DEV/Babylonia-terminal.git
synced 2025-12-16 09:28:53 +00:00
58 lines
1.8 KiB
Rust
58 lines
1.8 KiB
Rust
use babylonia_terminal_sdk::{
|
|
components::{
|
|
dxvk_component::{DXVK_DEV, DXVK_REPO},
|
|
proton_component::{PROTON_DEV, PROTON_REPO},
|
|
},
|
|
utils::github_requester::{GithubRelease, GithubRequester},
|
|
};
|
|
|
|
use crate::messages::{
|
|
error::ReportError,
|
|
github::{AskDxvkVersions, AskProtonVersions, DxvkVersions, ProtonVersions},
|
|
};
|
|
|
|
#[warn(dead_code)]
|
|
pub struct GithubInfo;
|
|
|
|
impl GithubRequester for GithubInfo {
|
|
fn set_github_release_index(&mut self, _: usize) {
|
|
todo!()
|
|
}
|
|
}
|
|
|
|
pub async fn listen_proton_version() {
|
|
let mut receiver = AskProtonVersions::get_dart_signal_receiver();
|
|
while let Some(_) = receiver.recv().await {
|
|
let releases: Result<Vec<GithubRelease>, _> =
|
|
GithubInfo::get_github_releases(PROTON_DEV, PROTON_REPO).await;
|
|
match releases {
|
|
Ok(r) => ProtonVersions {
|
|
versions: r.iter().map(|v| v.tag_name.to_owned()).collect(),
|
|
}
|
|
.send_signal_to_dart(),
|
|
Err(e) => ReportError {
|
|
error_message: format!("When fetching proton versions : {}", e),
|
|
}
|
|
.send_signal_to_dart(),
|
|
}
|
|
}
|
|
}
|
|
|
|
pub async fn listen_dxvk_version() {
|
|
let mut receiver = AskDxvkVersions::get_dart_signal_receiver();
|
|
while let Some(_) = receiver.recv().await {
|
|
let releases: Result<Vec<GithubRelease>, _> =
|
|
GithubInfo::get_github_releases(DXVK_DEV, DXVK_REPO).await;
|
|
match releases {
|
|
Ok(r) => DxvkVersions {
|
|
versions: r.iter().map(|v| v.tag_name.to_owned()).collect(),
|
|
}
|
|
.send_signal_to_dart(),
|
|
Err(e) => ReportError {
|
|
error_message: format!("When fetching dxvk versions : {}", e),
|
|
}
|
|
.send_signal_to_dart(),
|
|
}
|
|
}
|
|
}
|