dist files for v1.4.4 built
This commit is contained in:
@@ -60,6 +60,7 @@ Das System umfasst die Darstellung von Menüplänen in einer Wochenübersicht, d
|
||||
| **Header UI & Navigation** | | | |
|
||||
| FR-090 | Die Hauptnavigation (Wochen-Toggles) muss linksbündig neben dem App-Titel positioniert sein. | Niedrig | v1.5.0 |
|
||||
| FR-091 | Ein dynamisches Alarm-Icon im Header muss den Überwachungsstatus geflaggter Menüs anzeigen (Gelb=Überwachung aktiv, Grün=Menü verfügbar, Versteckt=keine Flags). Der Tooltip muss den Zeitpunkt der letzten Prüfung als relativen String (z.B. "vor 4 Min.") enthalten. | Mittel | v1.5.0 |
|
||||
| FR-092 | Sobald über den Daten-Refresh erstmals Menüdaten für die Nächste Woche geladen werden, muss der entsprechende Navigation-Button animiert und farblich (Gelb) hervorgehoben werden. Zusätzlich muss einmalig ein Hinweis eingeblendet werden. Bei Klick auf den Button muss die Hervorhebung erlöschen. | Mittel | v1.6.0 |
|
||||
| **Benutzer-Feedback** | | | |
|
||||
| FR-090 | Alle benutzerrelevanten Aktionen (Bestellung, Stornierung, Fehler) müssen durch nicht-blockierende Benachrichtigungen (Toasts) bestätigt werden. | Mittel | v1.0.1 |
|
||||
| FR-091 | Bei einem Verbindungsfehler muss ein Fehlerdialog mit Fallback-Link zur Originalseite angezeigt werden. | Mittel | v1.0.1 |
|
||||
@@ -71,6 +72,7 @@ Das System umfasst die Darstellung von Menüplänen in einer Wochenübersicht, d
|
||||
| FR-112 | Benutzer müssen eine Versionsliste mit Installationslinks einsehen können (Versionsmenü). | Niedrig | v1.3.0 |
|
||||
| FR-113 | Es muss möglich sein, zu einer älteren Version zurückzukehren (Downgrade). | Niedrig | v1.3.0 |
|
||||
| FR-114 | Ein Dev-Mode muss es ermöglichen, zwischen stabilen Releases und Entwicklungs-Tags umzuschalten. | Niedrig | v1.3.0 |
|
||||
| FR-115 | Das Versionsmenü muss Links zur Erstellung von Feature-Requests und Bug-Reports auf GitHub enthalten. | Niedrig | v1.4.4 |
|
||||
|
||||
## 3. Nicht-funktionale Anforderungen
|
||||
|
||||
|
||||
BIN
__pycache__/test_build.cpython-312-pytest-9.0.2.pyc
Executable file
BIN
__pycache__/test_build.cpython-312-pytest-9.0.2.pyc
Executable file
Binary file not shown.
@@ -1,3 +1,6 @@
|
||||
## v1.4.4 (2026-02-24)
|
||||
- **Feature**: Das Versionsmenü enthält nun direkte Links zu GitHub, um Fehler zu melden oder neue Features vorzuschlagen.
|
||||
|
||||
## v1.4.3 (2026-02-24)
|
||||
- **Fix**: Der Rahmen des "Heute Bestellt" Menüs ist nun konsequent violett (passend zum Glow-Effekt).
|
||||
|
||||
|
||||
4
dist/bookmarklet-payload.js
vendored
4
dist/bookmarklet-payload.js
vendored
File diff suppressed because one or more lines are too long
2
dist/bookmarklet.txt
vendored
2
dist/bookmarklet.txt
vendored
File diff suppressed because one or more lines are too long
16
dist/install.html
vendored
16
dist/install.html
vendored
File diff suppressed because one or more lines are too long
50
dist/kantine-standalone.html
vendored
50
dist/kantine-standalone.html
vendored
@@ -197,6 +197,29 @@ body {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Notification state for Next Week */
|
||||
.nav-btn.new-week-available {
|
||||
animation: goldPulse 2s infinite;
|
||||
border-color: #f59e0b;
|
||||
color: var(--accent-color);
|
||||
}
|
||||
.nav-btn.new-week-available.active {
|
||||
color: white;
|
||||
}
|
||||
|
||||
@keyframes goldPulse {
|
||||
0% {
|
||||
box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
|
||||
}
|
||||
70% {
|
||||
box-shadow: 0 0 0 10px rgba(245, 158, 11, 0);
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Badge for nav buttons (day count indicator) */
|
||||
.nav-badge {
|
||||
background-color: var(--error-color);
|
||||
@@ -1997,7 +2020,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.3</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.4</small></h1>
|
||||
<div id="last-updated-subtitle" class="subtitle"></div>
|
||||
</div>
|
||||
<div class="nav-group" style="margin-left: 1rem;">
|
||||
@@ -2139,7 +2162,7 @@ body {
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div style="margin-bottom: 1rem;">
|
||||
<strong>Aktuell:</strong> <span id="version-current">v1.4.3</span>
|
||||
<strong>Aktuell:</strong> <span id="version-current">v1.4.4</span>
|
||||
</div>
|
||||
<div class="dev-toggle">
|
||||
<label style="display:flex;align-items:center;gap:8px;cursor:pointer;">
|
||||
@@ -2147,9 +2170,17 @@ body {
|
||||
<span>Dev-Mode (alle Tags anzeigen)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="version-list-container" style="margin-top:1rem;">
|
||||
<div id="version-list-container" style="margin-top:1rem; max-height: 250px; overflow-y: auto;">
|
||||
<p style="color:var(--text-secondary);">Lade Versionen...</p>
|
||||
</div>
|
||||
<div style="margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border-color); display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.9em;">
|
||||
<a href="https://github.com/TauNeutrino/kantine-overview/issues" target="_blank" rel="noopener noreferrer" style="color: var(--primary-color); text-decoration: none; display: flex; align-items: center; gap: 0.5rem;" title="Melde einen Fehler auf GitHub">
|
||||
<span class="material-icons-round" style="font-size: 1.2em;">bug_report</span> Fehler melden
|
||||
</a>
|
||||
<a href="https://github.com/TauNeutrino/kantine-overview/discussions/categories/ideas" target="_blank" rel="noopener noreferrer" style="color: var(--primary-color); text-decoration: none; display: flex; align-items: center; gap: 0.5rem;" title="Schlage ein neues Feature auf GitHub vor">
|
||||
<span class="material-icons-round" style="font-size: 1.2em;">lightbulb</span> Feature vorschlagen
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2283,6 +2314,7 @@ body {
|
||||
});
|
||||
|
||||
btnNextWeek.addEventListener('click', () => {
|
||||
btnNextWeek.classList.remove('new-week-available');
|
||||
if (displayMode !== 'next-week') {
|
||||
displayMode = 'next-week';
|
||||
btnNextWeek.classList.add('active');
|
||||
@@ -3387,6 +3419,14 @@ body {
|
||||
badge.classList.add('has-highlights');
|
||||
}
|
||||
|
||||
// FR-092: Highlight Next Week Button when new data 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 if (badge) {
|
||||
badge.remove();
|
||||
}
|
||||
@@ -3793,7 +3833,7 @@ body {
|
||||
|
||||
// Periodic update check (runs on init + every hour)
|
||||
async function checkForUpdates() {
|
||||
const currentVersion = 'v1.4.3';
|
||||
const currentVersion = 'v1.4.4';
|
||||
const devMode = localStorage.getItem('kantine_dev_mode') === 'true';
|
||||
|
||||
try {
|
||||
@@ -3834,7 +3874,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.3';
|
||||
const currentVersion = 'v1.4.4';
|
||||
|
||||
if (!modal) return;
|
||||
modal.classList.remove('hidden');
|
||||
|
||||
19
kantine.js
19
kantine.js
@@ -221,9 +221,17 @@
|
||||
<span>Dev-Mode (alle Tags anzeigen)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="version-list-container" style="margin-top:1rem;">
|
||||
<div id="version-list-container" style="margin-top:1rem; max-height: 250px; overflow-y: auto;">
|
||||
<p style="color:var(--text-secondary);">Lade Versionen...</p>
|
||||
</div>
|
||||
<div style="margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border-color); display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.9em;">
|
||||
<a href="https://github.com/TauNeutrino/kantine-overview/issues" target="_blank" rel="noopener noreferrer" style="color: var(--primary-color); text-decoration: none; display: flex; align-items: center; gap: 0.5rem;" title="Melde einen Fehler auf GitHub">
|
||||
<span class="material-icons-round" style="font-size: 1.2em;">bug_report</span> Fehler melden
|
||||
</a>
|
||||
<a href="https://github.com/TauNeutrino/kantine-overview/discussions/categories/ideas" target="_blank" rel="noopener noreferrer" style="color: var(--primary-color); text-decoration: none; display: flex; align-items: center; gap: 0.5rem;" title="Schlage ein neues Feature auf GitHub vor">
|
||||
<span class="material-icons-round" style="font-size: 1.2em;">lightbulb</span> Feature vorschlagen
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -357,6 +365,7 @@
|
||||
});
|
||||
|
||||
btnNextWeek.addEventListener('click', () => {
|
||||
btnNextWeek.classList.remove('new-week-available');
|
||||
if (displayMode !== 'next-week') {
|
||||
displayMode = 'next-week';
|
||||
btnNextWeek.classList.add('active');
|
||||
@@ -1461,6 +1470,14 @@
|
||||
badge.classList.add('has-highlights');
|
||||
}
|
||||
|
||||
// FR-092: Highlight Next Week Button when new data 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 if (badge) {
|
||||
badge.remove();
|
||||
}
|
||||
|
||||
23
style.css
23
style.css
@@ -186,6 +186,29 @@ body {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Notification state for Next Week */
|
||||
.nav-btn.new-week-available {
|
||||
animation: goldPulse 2s infinite;
|
||||
border-color: #f59e0b;
|
||||
color: var(--accent-color);
|
||||
}
|
||||
.nav-btn.new-week-available.active {
|
||||
color: white;
|
||||
}
|
||||
|
||||
@keyframes goldPulse {
|
||||
0% {
|
||||
box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
|
||||
}
|
||||
70% {
|
||||
box-shadow: 0 0 0 10px rgba(245, 158, 11, 0);
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Badge for nav buttons (day count indicator) */
|
||||
.nav-badge {
|
||||
background-color: var(--error-color);
|
||||
|
||||
@@ -1 +1 @@
|
||||
v1.4.3
|
||||
v1.4.4
|
||||
|
||||
Reference in New Issue
Block a user