Compare commits

..

4 Commits

Author SHA1 Message Date
Kantine Wrapper 5caaf7dcad chore: update build artifacts for v1.4.21 2026-02-25 15:00:04 +01:00
Kantine Wrapper 122c1078cf feat: dynamic glow on next-week button until first order (v1.4.21) 2026-02-25 14:59:59 +01:00
Kantine Wrapper ff48befb8a chore: update build artifacts for v1.4.20 2026-02-25 14:57:50 +01:00
Kantine Wrapper 9391dfd8d7 fix: update next-week badge counter after order/cancel (v1.4.20) 2026-02-25 14:57:44 +01:00
7 changed files with 49 additions and 23 deletions
+6
View File
@@ -1,3 +1,9 @@
## v1.4.21
-**UX**: Der Glow-Effekt des „Nächste Woche"-Buttons bleibt nun aktiv, solange Menüdaten vorhanden aber noch keine Bestellungen getätigt wurden. Verschwindet automatisch nach der ersten Bestellung.
## v1.4.20
- 🐛 **Bugfix**: Der Badge-Counter im „Nächste Woche"-Tab wird jetzt sofort nach einer Bestellung oder Stornierung aktualisiert.
## v1.4.19
- 🎨 **Feature**: Eigenes Favicon für die Installer-Seite hinzugefügt (Dreieck + Gabel & Messer). Wird beim Drag & Drop in die Lesezeichenleiste als Icon übernommen.
+1 -1
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
+14 -6
View File
File diff suppressed because one or more lines are too long
+12 -6
View File
@@ -2021,7 +2021,7 @@ body {
<div class="brand">
<span class="material-icons-round logo-icon">restaurant_menu</span>
<div class="header-left">
<h1>Kantinen Übersicht <small class="version-tag" style="font-size: 0.6em; opacity: 0.7; font-weight: 400; cursor: pointer;" title="Klick für Versionsmenü">v1.4.19</small></h1>
<h1>Kantinen Übersicht <small class="version-tag" style="font-size: 0.6em; opacity: 0.7; font-weight: 400; cursor: pointer;" title="Klick für Versionsmenü">v1.4.21</small></h1>
<div id="last-updated-subtitle" class="subtitle"></div>
</div>
<div class="nav-group" style="margin-left: 1rem;">
@@ -2163,7 +2163,7 @@ body {
</div>
<div class="modal-body">
<div style="margin-bottom: 1rem;">
<strong>Aktuell:</strong> <span id="version-current">v1.4.19</span>
<strong>Aktuell:</strong> <span id="version-current">v1.4.21</span>
</div>
<div class="dev-toggle">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer;">
@@ -2531,6 +2531,7 @@ body {
}
console.log(`Fetched ${results.length} orders, mapped active ones.`);
renderVisibleWeeks();
updateNextWeekBadge();
}
} catch (error) {
console.error('Error fetching orders:', error);
@@ -3596,13 +3597,18 @@ body {
badge.classList.add('has-highlights');
}
// FR-092: Highlight Next Week Button when new data arrives
// FR-092: Glow Next Week button while data exists but no orders placed
if (daysWithOrders === 0) {
btnNextWeek.classList.add('new-week-available');
// One-time toast notification when new data first arrives
const storageKey = `kantine_notified_nextweek_${nextYear}_${nextWeek}`;
if (!localStorage.getItem(storageKey)) {
localStorage.setItem(storageKey, 'true');
btnNextWeek.classList.add('new-week-available');
showToast('Neue Menüdaten für nächste Woche verfügbar!', 'info');
}
} else {
btnNextWeek.classList.remove('new-week-available');
}
} else if (badge) {
badge.remove();
@@ -4010,7 +4016,7 @@ body {
// Periodic update check (runs on init + every hour)
async function checkForUpdates() {
const currentVersion = 'v1.4.19';
const currentVersion = 'v1.4.21';
const devMode = localStorage.getItem('kantine_dev_mode') === 'true';
try {
@@ -4051,7 +4057,7 @@ body {
const modal = document.getElementById('version-modal');
const container = document.getElementById('version-list-container');
const devToggle = document.getElementById('dev-mode-toggle');
const currentVersion = 'v1.4.19';
const currentVersion = 'v1.4.21';
if (!modal) return;
modal.classList.remove('hidden');
+8 -2
View File
@@ -581,6 +581,7 @@
}
console.log(`Fetched ${results.length} orders, mapped active ones.`);
renderVisibleWeeks();
updateNextWeekBadge();
}
} catch (error) {
console.error('Error fetching orders:', error);
@@ -1646,13 +1647,18 @@
badge.classList.add('has-highlights');
}
// FR-092: Highlight Next Week Button when new data arrives
// FR-092: Glow Next Week button while data exists but no orders placed
if (daysWithOrders === 0) {
btnNextWeek.classList.add('new-week-available');
// One-time toast notification when new data first arrives
const storageKey = `kantine_notified_nextweek_${nextYear}_${nextWeek}`;
if (!localStorage.getItem(storageKey)) {
localStorage.setItem(storageKey, 'true');
btnNextWeek.classList.add('new-week-available');
showToast('Neue Menüdaten für nächste Woche verfügbar!', 'info');
}
} else {
btnNextWeek.classList.remove('new-week-available');
}
} else if (badge) {
badge.remove();
+1 -1
View File
@@ -1 +1 @@
v1.4.19
v1.4.21