feat: Enhance layout density and responsiveness with tighter spacing and flex-wrap, and resolve scrolling conflicts in the bookmarklet.

This commit is contained in:
Kantine Wrapper
2026-03-11 10:49:37 +01:00
parent 4c253f4162
commit 8960a7f0b3
9 changed files with 50 additions and 22 deletions
+3 -1
View File
@@ -1,4 +1,6 @@
## v1.6.16 (2026-03-11) ## v1.6.17 (2026-03-11)
- 🎨 **UX**: Fix Card Content Overflow In der 5-Tage-Ansicht (Landscape) auf schmalen Bildschirmen umbrechen die Status-Badges und Buttons jetzt korrekt in eine neue Zeile, statt über den Kartenrand hinauszuragen. Das Karten-Padding wurde für Desktop-Ansichten optimiert.
- 🧹 **Wartbarkeit**: Alle verbliebenen hardcodierten deutschen UI-Strings in `actions.js` via `t()` übersetzt (Progress-Texte, Fehler-Labels, 'Angemeldet', 'Hintergrund-Synchronisation'). - 🧹 **Wartbarkeit**: Alle verbliebenen hardcodierten deutschen UI-Strings in `actions.js` via `t()` übersetzt (Progress-Texte, Fehler-Labels, 'Angemeldet', 'Hintergrund-Synchronisation').
- 🔑 **Wartbarkeit**: Alle `localStorage`-Schlüssel in einheitliches `LS`-Objekt in `constants.js` zentralisiert. Alle Quelldateien verwenden jetzt `LS.*` statt Rohstrings. - 🔑 **Wartbarkeit**: Alle `localStorage`-Schlüssel in einheitliches `LS`-Objekt in `constants.js` zentralisiert. Alle Quelldateien verwenden jetzt `LS.*` statt Rohstrings.
- 🛡️ **Robustheit**: `setLangMode()` und `setDisplayMode()` in `state.js` prüfen jetzt Eingabewerte ungültige Werte werden verworfen und protokolliert. - 🛡️ **Robustheit**: `setLangMode()` und `setDisplayMode()` in `state.js` prüfen jetzt Eingabewerte ungültige Werte werden verworfen und protokolliert.
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+8 -6
View File
File diff suppressed because one or more lines are too long
+19 -7
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1136,7 +1136,7 @@ const API_BASE = 'https://api.bessa.app/v1';
const GUEST_TOKEN = 'c3418725e95a9f90e3645cbc846b4d67c7c66131'; const GUEST_TOKEN = 'c3418725e95a9f90e3645cbc846b4d67c7c66131';
/** The client version injected into every API request header. */ /** The client version injected into every API request header. */
const CLIENT_VERSION = 'v1.6.16'; const CLIENT_VERSION = 'v1.6.17';
/** Bessa venue ID for Knapp-Kantine. */ /** Bessa venue ID for Knapp-Kantine. */
const VENUE_ID = 591; const VENUE_ID = 591;
+1 -1
View File
@@ -11,7 +11,7 @@ export const API_BASE = 'https://api.bessa.app/v1';
export const GUEST_TOKEN = 'c3418725e95a9f90e3645cbc846b4d67c7c66131'; export const GUEST_TOKEN = 'c3418725e95a9f90e3645cbc846b4d67c7c66131';
/** The client version injected into every API request header. */ /** The client version injected into every API request header. */
export const CLIENT_VERSION = 'v1.6.16'; export const CLIENT_VERSION = 'v1.6.17';
/** Bessa venue ID for Knapp-Kantine. */ /** Bessa venue ID for Knapp-Kantine. */
export const VENUE_ID = 591; export const VENUE_ID = 591;
+14 -2
View File
@@ -829,8 +829,8 @@ body {
.days-grid { .days-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 0.75rem; gap: 0.5rem;
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
/* This is the scroll container at the window edge */ /* This is the scroll container at the window edge */
@@ -997,6 +997,7 @@ body {
display: flex; display: flex;
gap: 0.5rem; gap: 0.5rem;
margin-left: auto; margin-left: auto;
flex-wrap: wrap;
} }
.item-status-row { .item-status-row {
@@ -1004,6 +1005,7 @@ body {
align-items: center; align-items: center;
gap: 0.5rem; gap: 0.5rem;
margin-bottom: 0.75rem; margin-bottom: 0.75rem;
flex-wrap: wrap;
} }
.badge { .badge {
@@ -1280,6 +1282,16 @@ body {
} }
} }
/* Tighter layout for high column counts (e.g., 5-day landscape) */
@media (min-width: 1024px) {
.card-body {
padding: 1rem 0.75rem;
}
.item-header {
gap: 0.5rem;
}
}
/* === Flagging & Notification Styles === */ /* === Flagging & Notification Styles === */
.btn-flag { .btn-flag {
+1 -1
View File
@@ -1 +1 @@
v1.6.16 v1.6.17