From a9e4714a60d6a8701694f525cb526ae708d31c24 Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Sat, 19 Apr 2025 11:24:40 +0200 Subject: [PATCH] make it clear when you are in test setting --- README.md | 6 ++++++ src/lib.rs | 6 +++++- src/main.rs | 2 ++ src/partials.rs | 19 ++++++++++++++++++- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6abea4d..efa61e7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Stationslauf +## Demo-Instance + +- [startest.it-results.at](https://startest.it-results.at) +- DB resets on every commit/deployment +- Default admin: "a"/"123" + ## Marketing - single-binary (+ db + .env) - Teams werden automatisch (start)stationen zugewiesen diff --git a/src/lib.rs b/src/lib.rs index 8436c09..1f6f478 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ use maud::{html, Markup}; use partials::page; use serde::Deserialize; use sqlx::SqlitePool; -use std::sync::Arc; +use std::{env, sync::Arc}; use tokio::net::TcpListener; use tower_sessions::{cookie::time::Duration, Expiry, Session, SessionManagerLayer}; use tower_sessions_sqlx_store_chrono::SqliteStore; @@ -41,6 +41,10 @@ pub(crate) mod models; mod partials; pub(crate) mod station; +pub(crate) fn test_version() -> bool { + env::var("TEST_VERSION").is_ok() +} + pub(crate) fn pl(amount: usize, single: &str, append: &str) -> String { if amount == 1 { single.into() diff --git a/src/main.rs b/src/main.rs index ee2fd9d..dc419a6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,6 +16,8 @@ async fn main() { let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); let db: SqlitePool = PoolOptions::new().connect(&database_url).await.unwrap(); + // Test + // Axum let port = env::var("PORT").expect("PORT must be set"); let listener = tokio::net::TcpListener::bind(&format!("0.0.0.0:{port}")) diff --git a/src/partials.rs b/src/partials.rs index 7d5afb0..3f4122c 100644 --- a/src/partials.rs +++ b/src/partials.rs @@ -1,4 +1,5 @@ -use maud::{DOCTYPE, Markup, html}; +use crate::test_version; +use maud::{html, Markup, DOCTYPE}; use tower_sessions::Session; pub(crate) async fn page(content: Markup, session: Session, leaflet: bool) -> Markup { @@ -26,6 +27,22 @@ pub(crate) async fn page(content: Markup, session: Session, leaflet: bool) -> Ma @if leaflet { link rel="stylesheet" href="/leaflet.css"; } + @if test_version() { + style { + r#" +body { + margin: 0; + height: 100%; + background: repeating-linear-gradient( + 45deg, + rgba(0, 0, 0, 0.3), + rgba(0, 0, 0, 0.3) 20px, + rgba(255, 255, 0, 0.3) 20px, + rgba(255, 255, 0, 0.3) 40px + ); +}"# + } + } } body { main class="container" {