fix lp_change event values and display in front
All checks were successful
record-daemon / Build, check and test (push) Successful in 3m14s
All checks were successful
record-daemon / Build, check and test (push) Successful in 3m14s
This commit is contained in:
@@ -124,16 +124,34 @@ pub fn describe_event(event_type: &str, raw_data: &serde_json::Value) -> String
|
||||
format!("Phase changed to: {}", phase)
|
||||
}
|
||||
EVENT_TYPE_LP_CHANGE => {
|
||||
let lp_change = raw_data
|
||||
.get("lpChange")
|
||||
// Prefer leaguePointsDelta from raw_data (actual LP change amount)
|
||||
let lp_delta = raw_data
|
||||
.get("leaguePointsDelta")
|
||||
.and_then(|v| v.as_i64())
|
||||
.or_else(|| raw_data.get("lpChange").and_then(|v| v.as_i64()))
|
||||
.unwrap_or(0);
|
||||
let tier = raw_data
|
||||
.get("tier")
|
||||
.and_then(|v| v.as_str())
|
||||
.unwrap_or("UNRANKED");
|
||||
let sign = if lp_change >= 0 { "+" } else { "" };
|
||||
format!("LP Change: {}{} LP ({})", sign, lp_change, tier)
|
||||
let division = raw_data
|
||||
.get("division")
|
||||
.and_then(|v| v.as_str())
|
||||
.unwrap_or("");
|
||||
let lp_after = raw_data
|
||||
.get("leaguePoints")
|
||||
.and_then(|v| v.as_i64())
|
||||
.unwrap_or(0);
|
||||
let sign = if lp_delta >= 0 { "+" } else { "" };
|
||||
let rank = if division.is_empty() {
|
||||
tier.to_string()
|
||||
} else {
|
||||
format!("{} {}", tier, division)
|
||||
};
|
||||
format!(
|
||||
"LP Change: {}{} LP ({} → {} LP)",
|
||||
sign, lp_delta, rank, lp_after
|
||||
)
|
||||
}
|
||||
_ => "Unknown event".to_string(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user