From d93b29a3248b21db79defbe08ead023f017aefcc Mon Sep 17 00:00:00 2001 From: Adam Gaiswinkler Date: Tue, 4 Nov 2025 20:18:26 +0100 Subject: [PATCH] bug fixes( mobile ansicht delele overlay fixed) wartet auf testing. Status offensichtlicher gemacht --- .../Details.razor | 10 +- .../Module.css | 167 +++++++++++++++++- 2 files changed, 168 insertions(+), 9 deletions(-) diff --git a/Client/Modules/SZUAbsolventenverein.Module.EventRegistration/Details.razor b/Client/Modules/SZUAbsolventenverein.Module.EventRegistration/Details.razor index 7a15cd6..5d84749 100644 --- a/Client/Modules/SZUAbsolventenverein.Module.EventRegistration/Details.razor +++ b/Client/Modules/SZUAbsolventenverein.Module.EventRegistration/Details.razor @@ -20,14 +20,18 @@ @if (Status != null) { -

Status: +

Status: @if (Status == true) { - @Localizer["Zusage"]
+ @Localizer["Zugesagt"] + +
} else { - @Localizer["Absage"]
+ @Localizer["Abgesagt"] + +
}

diff --git a/Server/wwwroot/Modules/SZUAbsolventenverein.Module.EventRegistration/Module.css b/Server/wwwroot/Modules/SZUAbsolventenverein.Module.EventRegistration/Module.css index 40d1dd7..0bcd26f 100644 --- a/Server/wwwroot/Modules/SZUAbsolventenverein.Module.EventRegistration/Module.css +++ b/Server/wwwroot/Modules/SZUAbsolventenverein.Module.EventRegistration/Module.css @@ -6,6 +6,13 @@ .mt-3 { margin-top: 3rem; } +.mt-2 strong { + font-size: 1.4rem; /* Textgröße – Standard ist ca. 1rem */ + font-weight: 700; +} +.fontsizeInf { + font-size: 1.4rem; /* Textgröße – Standard ist ca. 1rem */ +} .event-list { display: flex; flex-wrap: wrap; @@ -15,7 +22,7 @@ .event-card { /*background-color: var(--bs-gray-dark); */ - border: 2px solid rgb(var(--bs-primary-rgb)); /* Umrandung */ + border: 2px solid rgb(128 128 128); /* Umrandung */ border-radius: 12px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); padding: 1.5rem; @@ -24,11 +31,6 @@ transition: all 0.3s ease; } - .event-card:hover { - border-color: #66ccff; /* Heller beim Hover */ - transform: translateY(-4px); - box-shadow: 0 6px 14px rgba(0, 0, 0, 0.5); - } .event-card h3 { margin-top: 0; @@ -43,4 +45,157 @@ margin-top: 1rem; display: flex; justify-content: space-between; +} +/* vorher: +.event-card:hover { + border-color: #66ccff; + transform: translateY(-4px); <-- das ist der Übeltäter + box-shadow: 0 6px 14px rgba(0,0,0,0.5); +} +*/ + +/* nachher – kein transform mehr */ +.event-card:hover { + border-color: #66ccff; + /* statt transform die Karte minimal "anheben" */ + margin-top: -4px; /* optischer Lift */ + box-shadow: 0 6px 14px rgba(0,0,0,0.5); +} + +/* sicherheitshalber: Overlay darf nicht abgeschnitten werden */ +.event-card { + overflow: visible; +} +/* ---------- A) Hover nur auf Geräten mit Maus ---------- */ +@media (hover: hover) and (pointer: fine) { + .event-card:hover { + border-color: #66ccff; + transform: translateY(-4px); + box-shadow: 0 6px 14px rgba(0,0,0,.5); + } +} + +/* Auf Touch-Geräten kein transform (verhindert Modal-Probleme) */ +@media (hover: none), (pointer: coarse) { + .event-card:hover { + transform: none; + box-shadow: 0 6px 14px rgba(0,0,0,.5); + } +} + +/* Sicherheitshalber: nichts abschneiden */ +.event-card { + overflow: visible; +} + + +/* ---------- B) Overlay/Modal (Desktop-Basis) ---------- */ +/* Falls schon vorhanden, kannst du diese Werte als Override nutzen */ +.overlay { + position: fixed; + inset: 0; + background: rgba(0,0,0,.45); + display: flex; + align-items: center; + justify-content: center; + padding: 2rem; + z-index: 2000; + overscroll-behavior: contain; +} + +.modal { + background: #fff; + border-radius: 10px; + box-shadow: 0 20px 60px rgba(0,0,0,.35); + width: min(92vw, 720px); + max-height: 85vh; + display: flex; + flex-direction: column; + overflow: hidden; /* für sticky header/footer */ +} + +.modal-header, +.modal-footer { + padding: 1rem 1.25rem; + background: #fff; +} + +.modal-header { + border-bottom: 1px solid rgba(0,0,0,.1); +} + +.modal-footer { + border-top: 1px solid rgba(0,0,0,.1); + display: flex; + gap: .75rem; + justify-content: flex-end; +} + +.modal-body { + padding: 1rem 1.25rem; + overflow: auto; + -webkit-overflow-scrolling: touch; +} + + /* Medien responsiv im Detail-Dialog */ + .modal-body img, + .modal-body video, + .modal-body canvas, + .modal-body iframe { + max-width: 100% !important; + height: auto !important; + display: block; + } + + +/* ---------- C) Mobile-Vollbild & Sticky-Header/Footer ---------- */ +@supports (height: 100dvh) { + .modal { + max-height: 100dvh; + } +} + +@media (max-width: 768px) { + .overlay { + padding: 0; + } + + .modal { + width: 100vw; + height: 100vh; /* nutzt auf modernen Browsern 100dvh (s.o.) */ + max-height: 100vh; + border-radius: 0; + } + + .modal-header { + position: sticky; + top: 0; + z-index: 1; + } + + .modal-footer { + position: sticky; + bottom: 0; + z-index: 1; + } + + .modal-body { + padding: 1rem; + } + + /* Lesbare Überschriften auf Mobile */ + .modal-body h1 { + font-size: clamp(1.25rem, 5.5vw, 2rem); + } + + .modal-body h2 { + font-size: clamp(1.125rem, 5vw, 1.5rem); + } +} + +/* iOS Safe-Area (Notch) */ +@supports (padding: max(0px)) { + .modal { + padding-bottom: max(0px, env(safe-area-inset-bottom)); + } } \ No newline at end of file