From 24fedf608375e8b7de02c0872fa50129f3a5da05 Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Tue, 22 Apr 2025 12:57:41 +0200 Subject: [PATCH] explain station view; Fixes #38 --- locales/de-AT.yml | 11 +++++---- src/station.rs | 59 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 47 insertions(+), 23 deletions(-) diff --git a/locales/de-AT.yml b/locales/de-AT.yml index d56f490..acc7fa3 100644 --- a/locales/de-AT.yml +++ b/locales/de-AT.yml @@ -22,6 +22,7 @@ confirm_restart_run: "Willst du den Stationslauf wirklich wieder aufnehmen?" run_ended: "Stationslauf erfolgreich beendet" run_restarted: "Stationslauf erfolgreich wieder aufgenommen" come_home_with_these_groups: "Gruppen mitnehmen" +station_info: "Schön, dass du uns als Stationsbetreuer hilfst." # # ###### @@ -34,11 +35,11 @@ come_home_with_these_groups: "Gruppen mitnehmen" # invalid_rating_code: "Falscher Quick-Login-Link. Bitte nochmal scannen oder neu eingeben." infos: "Infos" -station_has_no_teams_to_take_to_start: "Du musst keine Teams zu deiner Station mitnehmen." -station_should_take_one_teams_to_start: "Nimm bitte folgendes Team am Anfang zu deiner Station mit:" -station_should_take_n_teams_to_start: "Nimm bitte folgende %{amount} Teams am Anfang zu deiner Station mit:" -your_station_is_here: "Hier befindet sich deine Station:" -station_ready: "Ich bin bei meiner Station und bereit zu starten!" +station_has_no_teams_to_take_to_start: "Nachdem es offiziell losgeht kannst du gleich direkt zu deiner Station gehen, du musst keine Teams mitnehmen." +station_should_take_one_teams_to_start: "Nachdem es offiziell losgeht, nimm bitte folgendes Team am Anfang zu deiner Station mit:" +station_should_take_n_teams_to_start: "Nachdem es offiziell losgeht, nimm bitte folgende %{amount} Teams am Anfang zu deiner Station mit:" +your_station_is_here: "Deine Station befindet sich hier:" +station_ready: "Sobald du bei deiner Station bist und bereit zu starten bist, drücke diesen Button damit wir Bescheid wissen" station_not_yet_ready: "Bin mit der Station doch noch nicht bereit..." one_team_should_come_to_station: "Insgesamt sollte 1 Team zu deiner Station kommen." n_teams_should_come_to_station: "Insgesamt sollten %{amount} Teams zu deiner Station kommen." diff --git a/src/station.rs b/src/station.rs index bac4235..16d905e 100644 --- a/src/station.rs +++ b/src/station.rs @@ -44,25 +44,22 @@ async fn view( article { details open[(!station.ready)]{ summary { (t!("infos")) } + "👋" + (t!("station_info")) + " " @let first_teams = Team::all_with_first_station(&db, &station).await; @if first_teams.is_empty() { - div { - (t!("station_has_no_teams_to_take_to_start")) - } + (t!("station_has_no_teams_to_take_to_start")) } @else{ - b { - @if first_teams.len() == 1 { - (t!("station_should_take_one_teams_to_start")) - } @else { - (t!("station_should_take_n_teams_to_start", amount=first_teams.len())) - } + @if first_teams.len() == 1 { + (t!("station_should_take_one_teams_to_start")) + } @else { + (t!("station_should_take_n_teams_to_start", amount=first_teams.len())) } ol { @for team in first_teams { li { - b { - (team.name) - } + (team.name) ul { @if let Some(amount_people) = team.amount_people { li { @@ -86,7 +83,7 @@ async fn view( } } } - b { (t!("your_station_is_here")) } + (t!("your_station_is_here")) div id="map" style="height: 500px" {} script { (format!(" const map = L.map('map').setView([{lat}, {lng}], 14); @@ -107,11 +104,36 @@ async fn view( div { sub { a href=(format!("https://www.google.com/maps?q={lat},{lng}")) target="_blank" { - "Google Maps..." + "Google Maps Navigation" } } } hr; + "In diesem Tool solltest du diese 3 Dinge vermerken:" + ol { + li { + b { "Ein Team kommt zu deiner Station:" } + " Du wählst das entsprechende Team aus und klickst auf " + em { (t!("team_is_here")) } + ". Das Team ist nun im Wartemodus (⏳)." + } + li { + b { "Das Team beginnt mit der Aufgabe bei deiner Station:" } + " Du klickst beim entsprechenden Team auf " + em { (t!("team_starting")) } + ". Das Team ist nun im aktiven Modus (🎬)." + } + li { + b { "Das Team hat deine Station beendet und ist gegangen:" } + " Du klickst beim entsprechenden Team auf " + em { (t!("team_finished")) } + ". Bitte schau, dass du das immer zeitnah erledigst, damit die nächste Station informiert werden kann, dass ein Team auf dem Weg ist." + } + } + "Zu jedem Zeitpunkt kannst du mit Klick auf ✏️ Notizen zu den Teams machen. In aller Ruhe kannst du unter dem Punkt " + em { (t!("to_rate")) } + " die Teams, die schon bei dir waren, bewerten." + hr; a href=(format!("/s/{id}/{code}/ready")){ @if station.ready { (t!("station_not_yet_ready")) @@ -122,6 +144,7 @@ async fn view( } } } + article { @if teams.total_teams == 1 { (t!("one_team_should_come_to_station")) @@ -173,7 +196,7 @@ async fn view( article { details { summary { - em data-tooltip=(t!("state_active")) { (t!("state_active_icon")) } + em data-tooltip=(t!("state_active")) { (t!("state_active_icon")) " " } (team.name) small { " (" @@ -209,7 +232,7 @@ async fn view( article { details { summary { - em data-tooltip=(t!("state_waiting")) { (t!("state_waiting_icon"))} + em data-tooltip=(t!("state_waiting")) { (t!("state_waiting_icon")) " "} (team.name) small { " (" @@ -251,7 +274,7 @@ async fn view( } @for (team, rating) in teams.left_not_yet_rated { article { - em data-tooltip=(t!("state_to_rate")) { (t!("state_to_rate_icon")) } + em data-tooltip=(t!("state_to_rate")) { (t!("state_to_rate_icon")) " " } (team.name) small { " (" @@ -296,7 +319,7 @@ async fn view( article { details { summary { - em data-tooltip=(t!("state_rated")) { (t!("state_rated_icon")) } + em data-tooltip=(t!("state_rated")) { (t!("state_rated_icon")) " " } (team.name) (PreEscaped(" → ")) (rating.points.unwrap())