explain station view; Fixes #38
Some checks failed
CI/CD Pipeline / deploy (push) Has been cancelled
CI/CD Pipeline / test (push) Has been cancelled

This commit is contained in:
Philipp Hofer 2025-04-22 12:57:41 +02:00
parent 5cbdedc37c
commit 24fedf6083
2 changed files with 47 additions and 23 deletions

View File

@ -22,6 +22,7 @@ confirm_restart_run: "Willst du den Stationslauf wirklich wieder aufnehmen?"
run_ended: "Stationslauf erfolgreich beendet" run_ended: "Stationslauf erfolgreich beendet"
run_restarted: "Stationslauf erfolgreich wieder aufgenommen" run_restarted: "Stationslauf erfolgreich wieder aufgenommen"
come_home_with_these_groups: "Gruppen mitnehmen" 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." invalid_rating_code: "Falscher Quick-Login-Link. Bitte nochmal scannen oder neu eingeben."
infos: "Infos" infos: "Infos"
station_has_no_teams_to_take_to_start: "Du musst keine Teams zu deiner Station mitnehmen." 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: "Nimm bitte folgendes Team am Anfang zu deiner Station mit:" 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: "Nimm bitte folgende %{amount} Teams 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: "Hier befindet sich deine Station:" your_station_is_here: "Deine Station befindet sich hier:"
station_ready: "Ich bin bei meiner Station und bereit zu starten!" 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..." 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." 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." n_teams_should_come_to_station: "Insgesamt sollten %{amount} Teams zu deiner Station kommen."

View File

@ -44,25 +44,22 @@ async fn view(
article { article {
details open[(!station.ready)]{ details open[(!station.ready)]{
summary { (t!("infos")) } summary { (t!("infos")) }
"👋"
(t!("station_info"))
" "
@let first_teams = Team::all_with_first_station(&db, &station).await; @let first_teams = Team::all_with_first_station(&db, &station).await;
@if first_teams.is_empty() { @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{ } @else{
b { @if first_teams.len() == 1 {
@if first_teams.len() == 1 { (t!("station_should_take_one_teams_to_start"))
(t!("station_should_take_one_teams_to_start")) } @else {
} @else { (t!("station_should_take_n_teams_to_start", amount=first_teams.len()))
(t!("station_should_take_n_teams_to_start", amount=first_teams.len()))
}
} }
ol { ol {
@for team in first_teams { @for team in first_teams {
li { li {
b { (team.name)
(team.name)
}
ul { ul {
@if let Some(amount_people) = team.amount_people { @if let Some(amount_people) = team.amount_people {
li { 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" {} div id="map" style="height: 500px" {}
script { (format!(" script { (format!("
const map = L.map('map').setView([{lat}, {lng}], 14); const map = L.map('map').setView([{lat}, {lng}], 14);
@ -107,11 +104,36 @@ async fn view(
div { div {
sub { sub {
a href=(format!("https://www.google.com/maps?q={lat},{lng}")) target="_blank" { a href=(format!("https://www.google.com/maps?q={lat},{lng}")) target="_blank" {
"Google Maps..." "Google Maps Navigation"
} }
} }
} }
hr; 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")){ a href=(format!("/s/{id}/{code}/ready")){
@if station.ready { @if station.ready {
(t!("station_not_yet_ready")) (t!("station_not_yet_ready"))
@ -122,6 +144,7 @@ async fn view(
} }
} }
} }
article { article {
@if teams.total_teams == 1 { @if teams.total_teams == 1 {
(t!("one_team_should_come_to_station")) (t!("one_team_should_come_to_station"))
@ -173,7 +196,7 @@ async fn view(
article { article {
details { details {
summary { summary {
em data-tooltip=(t!("state_active")) { (t!("state_active_icon")) } em data-tooltip=(t!("state_active")) { (t!("state_active_icon")) " " }
(team.name) (team.name)
small { small {
" (" " ("
@ -209,7 +232,7 @@ async fn view(
article { article {
details { details {
summary { summary {
em data-tooltip=(t!("state_waiting")) { (t!("state_waiting_icon"))} em data-tooltip=(t!("state_waiting")) { (t!("state_waiting_icon")) " "}
(team.name) (team.name)
small { small {
" (" " ("
@ -251,7 +274,7 @@ async fn view(
} }
@for (team, rating) in teams.left_not_yet_rated { @for (team, rating) in teams.left_not_yet_rated {
article { 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) (team.name)
small { small {
" (" " ("
@ -296,7 +319,7 @@ async fn view(
article { article {
details { details {
summary { summary {
em data-tooltip=(t!("state_rated")) { (t!("state_rated_icon")) } em data-tooltip=(t!("state_rated")) { (t!("state_rated_icon")) " " }
(team.name) (team.name)
(PreEscaped(" → ")) (PreEscaped(" → "))
(rating.points.unwrap()) (rating.points.unwrap())