Load profile in setup step

This commit is contained in:
Sebastian Martinez
2024-08-28 10:50:09 +02:00
committed by Rūdolfs Ošiņš
parent 9dfc01a3c0
commit 029362787e
+27
View File
@@ -1,7 +1,34 @@
mod auth;
mod error;
use auth::authenticate;
use tauri::Manager;
struct AppState {
profile: radicle::Profile,
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.setup(|app| {
let profile: radicle::Profile = match radicle::Profile::load() {
Ok(profile) => Ok::<radicle::Profile, error::Error>(profile),
Err(radicle::profile::Error::NotFound(path)) => Err(error::Error::WithHint {
err: anyhow::anyhow!("Radicle profile not found in '{}'.", path.display()),
hint: "To setup your radicle profile, run `rad auth`.",
}
.into()),
Err(e) => Err(error::Error::WithHint {
err: e.into(),
hint: "Could not load radicle profile",
}),
}?;
app.manage(AppState { profile });
Ok(())
})
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_window_state::Builder::default().build())
.run(tauri::generate_context!())