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_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."

View File

@ -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"))
}
} @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()))
}
}
ol {
@for team in first_teams {
li {
b {
(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())