mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-11-03 18:50:30 +08:00
Load profile in setup step
This commit is contained in:
@@ -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!())
|
||||
|
||||
Reference in New Issue
Block a user