Compare commits

..

2 Commits

Author SHA1 Message Date
Kantine Wrapper
136fe7d355 dist files for v1.4.2 built 2026-02-23 08:24:51 +01:00
Kantine Wrapper
f5b3635773 dist files for v1.4.1 built 2026-02-22 22:18:41 +01:00
8 changed files with 50 additions and 24 deletions

View File

@@ -1,3 +1,10 @@
## v1.4.2 (2026-02-23)
- **Fix**: Das "Heute Bestellt" Menü leuchtet nun stimmig im Design-Violett statt Blau.
- **Fix**: Abfangen des GitHub API Rate Limit (403) im Versionsdialog mit einer freundlicheren Fehlermeldung, da der User-Agent im Browser nicht manuell gesetzt werden darf.
## v1.4.1 (2026-02-22)
- **UX Verbesserungen**: Bestellhistorie gruppiert nach Jahren und Monaten mittels einklappbarem Akkordeon. Monatssummen integriert und Stati farblich abgehoben (Offen, Abgeschlossen, Storniert).
## v1.4.0 (2026-02-22) ## v1.4.0 (2026-02-22)
- **Feature**: Bestellhistorie per Knopfdruck abrufbar. Übersichtliche Darstellung, gruppiert nach Monaten und Kalenderwochen, inklusive Stornos. 📜✨ - **Feature**: Bestellhistorie per Knopfdruck abrufbar. Übersichtliche Darstellung, gruppiert nach Monaten und Kalenderwochen, inklusive Stornos. 📜✨

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

21
dist/install.html vendored

File diff suppressed because one or more lines are too long

View File

@@ -796,7 +796,7 @@ body {
.menu-item.today-ordered { .menu-item.today-ordered {
border: 2px solid var(--accent-color); border: 2px solid var(--accent-color);
box-shadow: 0 0 20px rgba(96, 165, 250, 0.4); box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0 -1rem 1.5rem -1rem;
@@ -808,15 +808,15 @@ body {
@keyframes pulse-glow { @keyframes pulse-glow {
0% { 0% {
box-shadow: 0 0 15px rgba(96, 165, 250, 0.3); box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
} }
50% { 50% {
box-shadow: 0 0 25px rgba(96, 165, 250, 0.6); box-shadow: 0 0 25px rgba(139, 92, 246, 0.6);
} }
100% { 100% {
box-shadow: 0 0 15px rgba(96, 165, 250, 0.3); box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
} }
} }
@@ -1997,7 +1997,7 @@ body {
<div class="brand"> <div class="brand">
<span class="material-icons-round logo-icon">restaurant_menu</span> <span class="material-icons-round logo-icon">restaurant_menu</span>
<div class="header-left"> <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.0</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.2</small></h1>
<div id="last-updated-subtitle" class="subtitle"></div> <div id="last-updated-subtitle" class="subtitle"></div>
</div> </div>
</div> </div>
@@ -2136,7 +2136,7 @@ body {
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div style="margin-bottom: 1rem;"> <div style="margin-bottom: 1rem;">
<strong>Aktuell:</strong> <span id="version-current">v1.4.0</span> <strong>Aktuell:</strong> <span id="version-current">v1.4.2</span>
</div> </div>
<div class="dev-toggle"> <div class="dev-toggle">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer;"> <label style="display:flex;align-items:center;gap:8px;cursor:pointer;">
@@ -3699,7 +3699,12 @@ body {
: `${GITHUB_API}/releases?per_page=20`; : `${GITHUB_API}/releases?per_page=20`;
const resp = await fetch(endpoint, { headers: githubHeaders() }); const resp = await fetch(endpoint, { headers: githubHeaders() });
if (!resp.ok) throw new Error(`GitHub API ${resp.status}`); if (!resp.ok) {
if (resp.status === 403) {
throw new Error('API Rate Limit erreicht (403). Bitte später erneut versuchen.');
}
throw new Error(`GitHub API ${resp.status}`);
}
const data = await resp.json(); const data = await resp.json();
// Normalize to common format: { tag, name, url, body } // Normalize to common format: { tag, name, url, body }
@@ -3716,7 +3721,7 @@ body {
// Periodic update check (runs on init + every hour) // Periodic update check (runs on init + every hour)
async function checkForUpdates() { async function checkForUpdates() {
const currentVersion = 'v1.4.0'; const currentVersion = 'v1.4.2';
const devMode = localStorage.getItem('kantine_dev_mode') === 'true'; const devMode = localStorage.getItem('kantine_dev_mode') === 'true';
try { try {
@@ -3757,7 +3762,7 @@ body {
const modal = document.getElementById('version-modal'); const modal = document.getElementById('version-modal');
const container = document.getElementById('version-list-container'); const container = document.getElementById('version-list-container');
const devToggle = document.getElementById('dev-mode-toggle'); const devToggle = document.getElementById('dev-mode-toggle');
const currentVersion = 'v1.4.0'; const currentVersion = 'v1.4.2';
if (!modal) return; if (!modal) return;
modal.classList.remove('hidden'); modal.classList.remove('hidden');

View File

@@ -1773,7 +1773,12 @@
: `${GITHUB_API}/releases?per_page=20`; : `${GITHUB_API}/releases?per_page=20`;
const resp = await fetch(endpoint, { headers: githubHeaders() }); const resp = await fetch(endpoint, { headers: githubHeaders() });
if (!resp.ok) throw new Error(`GitHub API ${resp.status}`); if (!resp.ok) {
if (resp.status === 403) {
throw new Error('API Rate Limit erreicht (403). Bitte später erneut versuchen.');
}
throw new Error(`GitHub API ${resp.status}`);
}
const data = await resp.json(); const data = await resp.json();
// Normalize to common format: { tag, name, url, body } // Normalize to common format: { tag, name, url, body }

View File

@@ -785,7 +785,7 @@ body {
.menu-item.today-ordered { .menu-item.today-ordered {
border: 2px solid var(--accent-color); border: 2px solid var(--accent-color);
box-shadow: 0 0 20px rgba(96, 165, 250, 0.4); box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
border-radius: 8px; border-radius: 8px;
padding: 1rem; padding: 1rem;
margin: 0 -1rem 1.5rem -1rem; margin: 0 -1rem 1.5rem -1rem;
@@ -797,15 +797,15 @@ body {
@keyframes pulse-glow { @keyframes pulse-glow {
0% { 0% {
box-shadow: 0 0 15px rgba(96, 165, 250, 0.3); box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
} }
50% { 50% {
box-shadow: 0 0 25px rgba(96, 165, 250, 0.6); box-shadow: 0 0 25px rgba(139, 92, 246, 0.6);
} }
100% { 100% {
box-shadow: 0 0 15px rgba(96, 165, 250, 0.3); box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
} }
} }

View File

@@ -1 +1 @@
v1.4.0 v1.4.2