summaryrefslogtreecommitdiffstats
path: root/ozone-cli/src
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2025-03-18 00:31:00 -0500
committerLibravatar bigfoot547 <[email protected]>2025-03-18 00:31:00 -0500
commit5fd29cf69032f0de9cbb111d17a5e218195a75c8 (patch)
treeeb8e42656c680eb1fbddb1e428bc2d86d2f65636 /ozone-cli/src
parentlint (diff)
wip: account login progressHEADmaster
Diffstat (limited to 'ozone-cli/src')
-rw-r--r--ozone-cli/src/main.rs26
1 files changed, 23 insertions, 3 deletions
diff --git a/ozone-cli/src/main.rs b/ozone-cli/src/main.rs
index 05fef49..d4b70a5 100644
--- a/ozone-cli/src/main.rs
+++ b/ozone-cli/src/main.rs
@@ -377,7 +377,12 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
println!("Authentication success! Logging in...");
- match acct.log_in_silent(&client).await {
+ let progress = IndicatifProgress {
+ bar: multi.add(ProgressBar::no_length()
+ .with_style(ProgressStyle::with_template("{spinner} Step {pos} of {len}: {msg}").unwrap()))
+ };
+
+ match acct.log_in_silent(&client, &progress as &dyn ProgressIndication).await {
Ok(_) => (),
Err(e) => match e.kind() {
AuthErrorKind::NotOnXbox => {
@@ -405,6 +410,8 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
}
}
+ progress.bar.finish();
+
let key = accounts.add_account(acct.into()).expect("authentication succeeded but xuid missing????");
if !args.no_select {
accounts.set_selected_account(key);
@@ -453,10 +460,14 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
};
let client = MsaAccount::create_client();
+ let progress = IndicatifProgress {
+ bar: multi.add(ProgressBar::no_length()
+ .with_style(ProgressStyle::with_template("{spinner} Step {pos} of {len}: {msg}").unwrap()))
+ };
match account {
Account::MSA(msa_acct) => {
- msa_acct.log_in_silent(&client).await?;
+ msa_acct.log_in_silent(&client, &progress as &dyn ProgressIndication).await?;
println!("Successfully refreshed account: {}", account);
},
_ => {
@@ -465,6 +476,8 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
}
}
+ progress.bar.finish();
+
accounts.save(&accounts_path).await?;
}
}
@@ -490,8 +503,13 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
if let Account::MSA(msa_acct) = account {
let client = MsaAccount::create_client();
+ let progress = IndicatifProgress {
+ bar: multi.add(ProgressBar::no_length()
+ .with_style(ProgressStyle::with_template("{spinner} Step {pos} of {len}: {msg}").unwrap()))
+ };
+
println!("Looking up account information...");
- match msa_acct.log_in_silent(&client).await {
+ match msa_acct.log_in_silent(&client, &progress as &dyn ProgressIndication).await {
Ok(_) => (),
Err(e) if e.kind() == AuthErrorKind::InteractionRequired => {
eprintln!("This account requires interactive authentication: {}", account);
@@ -503,6 +521,8 @@ async fn main_inner(cli: Cli, multi: MultiProgress) -> Result<ExitCode, Box<dyn
return Ok(ExitCode::FAILURE);
}
}
+
+ progress.bar.finish();
}
accounts.save(&accounts_path).await?;