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

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.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

14
dist/install.html vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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;

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;

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 {

View File

@@ -1 +1 @@
v1.6.16 v1.6.17