dev api key

This commit is contained in:
Jonas Rabenstein 2026-08-12 14:02:12 +02:00
commit 89091a03d3
11 changed files with 791 additions and 762 deletions

View file

@ -1,38 +1,20 @@
use axum::{
extract::State,
response::Html,
};
use axum::{extract::State, response::Html};
use axum_extra::extract::cookie::CookieJar;
use crate::{
AppState,
db,
leaderboard,
};
use crate::{AppState, db, leaderboard};
pub async fn index(
State(state): State<AppState>,
jar: CookieJar,
) -> Html<String> {
let groups =
leaderboard::build(&state.db)
pub async fn index(State(state): State<AppState>, jar: CookieJar) -> Html<String> {
let groups = leaderboard::build(&state.db).await.unwrap_or_default();
let current_user = match jar.get("county_session") {
Some(cookie) => db::athlete_for_session(&state.db, cookie.value())
.await
.unwrap_or_default();
.ok()
.flatten()
.map(|(_, name)| name),
let current_user =
match jar.get("county_session") {
Some(cookie) =>
db::athlete_for_session(
&state.db,
cookie.value(),
)
.await
.ok()
.flatten()
.map(|(_, name)| name),
None => None,
};
None => None,
};
let mut html = String::from(
r#"<!doctype html>
@ -113,7 +95,7 @@ button, .button {
html.push_str(
r#"<a class="button" href="/oauth/start">
Mit Intervals.icu verbinden
</a>"#
</a>"#,
);
}
@ -123,7 +105,7 @@ button, .button {
html.push_str(
r#"<div class="card">
Noch keine Landkreisüberquerungen.
</div>"#
</div>"#,
);
}
@ -153,31 +135,28 @@ button, .button {
<th>HR</th>
</tr>
</thead>
<tbody>"#
<tbody>"#,
);
for row in group.rows {
let interval =
match row.interval_url {
Some(url) =>
format!(
"<a href=\"{}\" target=\"_blank\">Intervall</a>",
escape_html(&url)
),
let interval = match row.interval_url {
Some(url) => format!(
"<a href=\"{}\" target=\"_blank\">Intervall</a>",
escape_html(&url)
),
None =>
"<span class=\"small\">—</span>".into(),
};
None => "<span class=\"small\">—</span>".into(),
};
let power =
row.average_watts
.map(|v| format!("{:.0} W", v))
.unwrap_or_else(|| "".into());
let power = row
.average_watts
.map(|v| format!("{:.0} W", v))
.unwrap_or_else(|| "".into());
let hr =
row.average_heartrate
.map(|v| format!("{:.0} bpm", v))
.unwrap_or_else(|| "".into());
let hr = row
.average_heartrate
.map(|v| format!("{:.0} bpm", v))
.unwrap_or_else(|| "".into());
html.push_str(&format!(
r#"<tr>
@ -207,7 +186,7 @@ button, .button {
Datenquelle: Intervals.icu · Landkreisgeometrien: VG250
</footer>
</body>
</html>"#
</html>"#,
);
Html(html)