Compare commits

...

6 Commits

9 changed files with 93 additions and 38 deletions

View File

@@ -1,4 +1,10 @@
## v1.6.16 (2026-03-11) ## v1.6.19 (2026-03-11)
- 🎨 **UX**: Grid-Layout & Glow Overlap Fix Die Karten-Inhalte wurden auf ein sauberes Grid-Gap-Modell umgestellt (`row-gap: 1.5rem`). Dies verhindert technische Überlappungen von Menü-Items und stellt sicher, dass Glow-Effekte (Bestellt, Highlight) alle Inhalte korrekt umschließen. Manuelle Abstände wurden bereinigt.
- 🎨 **UX**: Glow-Styling angepasst Die farblichen Hervorhebungen (Bestellt, Highlight, Flagged) wurden so korrigiert, dass sie nicht mehr bis an den Kartenrand reichen, sondern innerhalb des Karten-Bodys mit entsprechendem Seitenabstand angezeigt werden.
- 🎨 **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

18
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.19';
/** 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.19';
/** 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(220px, 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 */
@@ -883,7 +883,9 @@ body {
box-shadow: 0 0 30px rgba(139, 92, 246, 0.6); box-shadow: 0 0 30px rgba(139, 92, 246, 0.6);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0;
display: flex;
flex-direction: column;
background: var(--bg-card); background: var(--bg-card);
position: relative; position: relative;
z-index: 5; z-index: 5;
@@ -930,7 +932,8 @@ body {
.card-body { .card-body {
padding: 1.25rem; padding: 1.25rem;
display: grid; display: grid;
grid-template-rows: auto; grid-template-columns: 1fr;
row-gap: 1.5rem;
align-content: start; align-content: start;
} }
@@ -954,9 +957,9 @@ body {
/* Menu Items */ /* Menu Items */
.menu-item { .menu-item {
margin-bottom: 1.5rem; /* Spacing now handled by .card-body grid gap */
padding-bottom: 1.5rem; display: flex;
border-bottom: 1px solid var(--border-color); flex-direction: column;
} }
.menu-item:last-child { .menu-item:last-child {
@@ -997,6 +1000,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 +1008,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 +1285,17 @@ 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 {
@@ -1321,7 +1337,9 @@ body {
box-shadow: 0 0 10px rgba(234, 179, 8, 0.2); box-shadow: 0 0 10px rgba(234, 179, 8, 0.2);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0;
display: flex;
flex-direction: column;
background: var(--bg-card); background: var(--bg-card);
position: relative; position: relative;
z-index: 5; z-index: 5;
@@ -1348,7 +1366,9 @@ body {
box-shadow: 0 0 15px rgba(16, 185, 129, 0.3); box-shadow: 0 0 15px rgba(16, 185, 129, 0.3);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0;
display: flex;
flex-direction: column;
background: var(--bg-card); background: var(--bg-card);
position: relative; position: relative;
z-index: 5; z-index: 5;
@@ -1519,7 +1539,9 @@ body {
box-shadow: 0 0 20px rgba(59, 130, 246, 0.4); box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0;
display: flex;
flex-direction: column;
background: var(--bg-card); background: var(--bg-card);
position: relative; position: relative;
z-index: 5; z-index: 5;

View File

@@ -1 +1 @@
v1.6.16 v1.6.19