show spinner for non-validator stash
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
		
							parent
							
								
									90c07aa339
								
							
						
					
					
						commit
						fafc5bd2c2
					
				| @ -2,7 +2,7 @@ | |||||||
| name = "ghost-eye" | name = "ghost-eye" | ||||||
| authors = ["str3tch <stretch@ghostchain.io>"] | authors = ["str3tch <stretch@ghostchain.io>"] | ||||||
| description = "Application for interacting with Casper/Ghost nodes that are exposing RPC only to the localhost" | description = "Application for interacting with Casper/Ghost nodes that are exposing RPC only to the localhost" | ||||||
| version = "0.3.25" | version = "0.3.26" | ||||||
| edition = "2021" | edition = "2021" | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
|  | |||||||
| @ -8,6 +8,7 @@ use ratatui::{ | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| use super::{PartialComponent, Component, CurrentTab}; | use super::{PartialComponent, Component, CurrentTab}; | ||||||
|  | use crate::widgets::DotSpinner; | ||||||
| use crate::{ | use crate::{ | ||||||
|     action::Action, 
 |     action::Action, 
 | ||||||
|     config::Config, 
 |     config::Config, 
 | ||||||
| @ -16,7 +17,7 @@ use crate::{ | |||||||
| 
 | 
 | ||||||
| pub struct RewardDetails { | pub struct RewardDetails { | ||||||
|     palette: StylePalette, |     palette: StylePalette, | ||||||
|     commission: u32, |     commission: Option<u32>, | ||||||
|     nominators_blocked: bool, |     nominators_blocked: bool, | ||||||
|     apy: String, |     apy: String, | ||||||
|     inflation: String, |     inflation: String, | ||||||
| @ -33,7 +34,7 @@ impl RewardDetails { | |||||||
|     pub fn new() -> Self { |     pub fn new() -> Self { | ||||||
|         Self { |         Self { | ||||||
|             palette: StylePalette::default(), |             palette: StylePalette::default(), | ||||||
|             commission: 0, |             commission: None, | ||||||
|             nominators_blocked: false, |             nominators_blocked: false, | ||||||
|             apy: String::from("0.0%"), |             apy: String::from("0.0%"), | ||||||
|             inflation: String::from("0.0%"), |             inflation: String::from("0.0%"), | ||||||
| @ -42,11 +43,12 @@ impl RewardDetails { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     fn comission_to_string(&self) -> String { |     fn comission_to_string(&self) -> String { | ||||||
|         if self.nominators_blocked { |         match self.commission { | ||||||
|             "blocked".to_string() |             Some(commission) => { | ||||||
|         } else { |                 if self.nominators_blocked { "blocked".to_string() } | ||||||
|             let result = self.commission as f64 / 1_000_000_000.0; |                 else { format!("{:.2}%", commission as f64 / 1_000_000_000.0) } | ||||||
|             format!("{:.2}%", result) |             }, | ||||||
|  |             None => DotSpinner::default().to_string(), | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -74,7 +76,7 @@ impl Component for RewardDetails { | |||||||
|         match action { |         match action { | ||||||
|             Action::SetStashAccount(stash) => self.stash = stash, |             Action::SetStashAccount(stash) => self.stash = stash, | ||||||
|             Action::SetValidatorPrefs(commission, disabled, account_id) if self.stash == account_id => { |             Action::SetValidatorPrefs(commission, disabled, account_id) if self.stash == account_id => { | ||||||
|                 self.commission = commission; |                 self.commission = Some(commission); | ||||||
|                 self.nominators_blocked = disabled; |                 self.nominators_blocked = disabled; | ||||||
|             } |             } | ||||||
|             Action::Apy(apy) => self.apy = apy, |             Action::Apy(apy) => self.apy = apy, | ||||||
|  | |||||||
| @ -514,12 +514,12 @@ pub async fn get_validator_prefs( | |||||||
| ) -> Result<()> { | ) -> Result<()> { | ||||||
|     let maybe_validator_prefs = super::raw_calls::staking::validators(api, None, account_id) |     let maybe_validator_prefs = super::raw_calls::staking::validators(api, None, account_id) | ||||||
|         .await?; |         .await?; | ||||||
|     let (comission, blocked) = match maybe_validator_prefs { |     if let Some(prefs) = maybe_validator_prefs { | ||||||
|         Some(prefs) => (prefs.commission.0, prefs.blocked), |         action_tx.send(Action::SetValidatorPrefs( | ||||||
|         None => (0, false), |                 prefs.commission.0, 
 | ||||||
|     }; |                 prefs.blocked, 
 | ||||||
| 
 |                 *account_id))?; | ||||||
|     action_tx.send(Action::SetValidatorPrefs(comission, blocked, *account_id))?; |     } | ||||||
|     Ok(()) |     Ok(()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user