From 8e3758c254ca13ab2dd1d0fc611746e5deb62b3d Mon Sep 17 00:00:00 2001
From: Lol3rrr
Date: Thu, 10 Oct 2024 16:35:35 +0200
Subject: [PATCH] Some minor styles and add very basic sorting support
---
frontend/src/demo/heatmap.rs | 2 +-
frontend/src/demo/scoreboard.rs | 41 +++++++++++++++++++++++++++------
2 files changed, 35 insertions(+), 8 deletions(-)
diff --git a/frontend/src/demo/heatmap.rs b/frontend/src/demo/heatmap.rs
index 76fa11f..1c0a1d5 100644
--- a/frontend/src/demo/heatmap.rs
+++ b/frontend/src/demo/heatmap.rs
@@ -56,7 +56,7 @@ fn heatmap_view(heatmaps: Vec) -> impl lep
"Heatmap-View",
.heatmap_image {
width: 1024px;
- height: 1024px;
+ height: min(70vw, 70vh);
display: block;
position: relative;
}
diff --git a/frontend/src/demo/scoreboard.rs b/frontend/src/demo/scoreboard.rs
index ee6b8fb..b10b0e8 100644
--- a/frontend/src/demo/scoreboard.rs
+++ b/frontend/src/demo/scoreboard.rs
@@ -24,14 +24,29 @@ pub fn scoreboard() -> impl leptos::IntoView {
Loading Scoreboard data
}
>
-
-
+
+
}
}
+fn damage_sorting(p1: &common::demo_analysis::ScoreBoardPlayer, p2: &common::demo_analysis::ScoreBoardPlayer) -> core::cmp::Ordering {
+ p2.damage.cmp(&p1.damage)
+}
+fn kill_sorting(p1: &common::demo_analysis::ScoreBoardPlayer, p2: &common::demo_analysis::ScoreBoardPlayer) -> core::cmp::Ordering {
+ p2.kills.cmp(&p1.kills)
+}
+fn assists_sorting(p1: &common::demo_analysis::ScoreBoardPlayer, p2: &common::demo_analysis::ScoreBoardPlayer) -> core::cmp::Ordering {
+ p2.assists.cmp(&p1.assists)
+}
+fn deaths_sorting(p1: &common::demo_analysis::ScoreBoardPlayer, p2: &common::demo_analysis::ScoreBoardPlayer) -> core::cmp::Ordering {
+ p2.deaths.cmp(&p1.deaths)
+}
+
#[leptos::component]
fn team_scoreboard(info: Resource, team_name: String, part: fn(common::demo_analysis::ScoreBoard) -> Vec) -> impl IntoView {
+ let (ordering, set_ordering) = create_signal:: core::cmp::Ordering>(damage_sorting);
+
let style = stylers::style! {
"Team-Scoreboard",
tr:nth-child(even) {
@@ -54,15 +69,27 @@ fn team_scoreboard(info: Resource
| Name |
- Kills |
- Assists |
- Deaths |
- Damage |
+ Kills |
+ Assists |
+ Deaths |
+ Damage |
{
move || {
let value = info.get().map(|v| part(v));
- (value).into_iter().flat_map(|v| v).map(|s| {
+ let mut players: Vec<_> = value.into_iter().flat_map(|v| v).collect();
+ let sorting = ordering.get();
+ players.sort_unstable_by(|p1, p2| sorting(p1, p2));
+
+ players.into_iter().map(|s| {
view! {
class=style,
| { s.name } | { s.kills } | { s.assists } | { s.deaths } | { s.damage } |