From bab54fdf2dfad88e44dfcc13d1df4072ddf1a538 Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Mon, 16 Feb 2026 21:01:38 +0100 Subject: [PATCH] feat(ui): release v1.2.0 with improved installer UX, build tests, and docs update --- README.md | 6 ++- build-bookmarklet.sh | 92 +++++++++++++++++++++--------------- changelog.md | 5 ++ dist/bookmarklet-payload.js | 4 +- dist/bookmarklet.txt | 2 +- dist/install.html | 86 +++++++++++++++++++-------------- dist/kantine-standalone.html | 70 +++++++++++++++------------ style.css | 65 +++++++++++++++---------- test_build.py | 89 ++++++++++++++++++++++++++++++++++ version.txt | 2 +- 10 files changed, 287 insertions(+), 134 deletions(-) create mode 100755 test_build.py diff --git a/README.md b/README.md index 0a85a5a..5013ff5 100755 --- a/README.md +++ b/README.md @@ -1,15 +1,17 @@ -# Kantine Wrapper Bookmarklet (v1.7.0) +# Kantine Wrapper Bookmarklet (v1.2.0) Ein intelligentes Bookmarklet für die Mitarbeiter-Kantine der Bessa App. Dieses Skript erweitert die Standardansicht um eine **Wochenübersicht**, Kostenkontrolle und verbesserte Usability. ## 🚀 Features * **Wochenübersicht:** Zeigt alle Tage der aktuellen Woche auf einen Blick. +* **Bestell-Countdown:** ⏳ Roter Alarm 1h vor Bestellschluss. +* **Smart Highlights:** 🌟 Markiere deine Favoriten (z.B. "Schnitzel", "Vegetarisch"). * **Bestellstatus:** Farbige Indikatoren für bestellte Menüs. * **Kostenkontrolle:** Summiert automatisch den Gesamtpreis der Woche. * **Session Reuse:** Nutzt automatisch eine bestehende Login-Session (Loggt dich automatisch ein). -* **API Fallback:** Prüft die Verbindung und bietet bei Fehlern einen Direktlink zur Originalseite. * **Menu Badges:** Zeigt Menü-Codes (M1, M2+) direkt im Header. +* **Changelog:** Übersicht über neue Funktionen direkt im Installer. ## 📦 Installation diff --git a/build-bookmarklet.sh b/build-bookmarklet.sh index 5e0ca9d..c146f05 100755 --- a/build-bookmarklet.sh +++ b/build-bookmarklet.sh @@ -108,39 +108,49 @@ cat > "$DIST_DIR/install.html" << INSTALLEOF

🍽️ Kantine Wrapper $VERSION

-
-

Changelog

-
- -
-
+ + +
+

👇 Diesen Button in die Lesezeichen-Leiste ziehen:

+

⏳ Wird generiert...

+
-
-

So funktioniert's

-
    -
  1. Ziehe den Button unten in deine Lesezeichen-Leiste (Drag & Drop)
  2. -
  3. Navigiere zu web.bessa.app/knapp-kantine
  4. -
  5. Klicke auf das Lesezeichen Kantine $VERSION
  6. -
-
+ +
+

So funktioniert's

+
    +
  1. Ziehe den Button oben in deine Lesezeichen-Leiste (Drag & Drop)
  2. +
  3. Navigiere zu web.bessa.app/knapp-kantine
  4. +
  5. Klicke auf das Lesezeichen Kantine $VERSION
  6. +
+
-
-

✨ Features

- + +
+

✨ Features

+
    +
  • 📅 Wochenübersicht: Die ganze Woche auf einen Blick.
  • +
  • Order Countdown: Roter Alarm 1h vor Bestellschluss.
  • +
  • 🌟 Smart Highlights: Markiere deine Favoriten (z.B. "Schnitzel").
  • +
  • 💰 Kostenkontrolle: Automatische Berechnung der Wochensumme.
  • +
  • 🔑 Auto-Login: Nutzt deine bestehende Session.
  • +
  • 🏷️ Badges & Status: Menü-Codes (M1, M2) und Bestellstatus direkt sichtbar.
  • +
-
+
⚠️ Haftungsausschluss:
Die Verwendung dieses Bookmarklets erfolgt auf eigene Verantwortung. Der Entwickler übernimmt keine Haftung für Schäden, Datenverlust oder ungewollte Bestellungen, die durch die Nutzung dieser Software entstehen. +
+
+ + +
+

Changelog

+
+
-

👇 Diesen Button in die Lesezeichen-Leiste ziehen:

-

⏳ Wird generiert...

+ diff --git a/dist/kantine-standalone.html b/dist/kantine-standalone.html index b37cb22..d61a2df 100755 --- a/dist/kantine-standalone.html +++ b/dist/kantine-standalone.html @@ -152,17 +152,6 @@ body { justify-content: center; } -.weekly-cost { - white-space: nowrap; - font-size: 0.9rem; - font-weight: 600; - color: var(--success-color); - background-color: var(--bg-body); - padding: 0.25rem 0.75rem; - border-radius: 20px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - border: 1px solid var(--border-color); -} .header-week-title { font-size: 1.1rem; @@ -1177,13 +1166,15 @@ body { color: var(--text-primary); /* Ensure text remains standard color */ } + /* Update Icon */ .update-icon { display: inline-flex; align-items: center; justify-content: center; margin-left: 8px; - background-color: rgba(16, 185, 129, 0.2); /* Green tint */ + background-color: rgba(16, 185, 129, 0.2); + /* Green tint */ color: var(--success-color); border-radius: 50%; width: 24px; @@ -1202,9 +1193,17 @@ body { } @keyframes pulse { - 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); } - 70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); } - 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } + 0% { + box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); + } + + 70% { + box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); + } + + 100% { + box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); + } } /* Order Countdown */ @@ -1235,14 +1234,23 @@ body { } @keyframes pulse-red { - 0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); } - 70% { box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); } - 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } + 0% { + box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); + } + + 70% { + box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); + } + + 100% { + box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); + } } /* Smart Highlights */ .highlight-glow { - box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); /* Blue glow */ + box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); + /* Blue glow */ border: 1px solid rgba(59, 130, 246, 0.8); background: rgba(59, 130, 246, 0.05); position: relative; @@ -1251,14 +1259,16 @@ body { /* Nav Badge with Count */ .nav-badge.has-highlights { - background-color: var(--card-bg); /* Neutral background */ + background-color: var(--bg-card); + /* Neutral background */ color: var(--text-primary); border: 1px solid var(--border-color); padding: 2px 6px; } .nav-badge .highlight-count { - color: #3b82f6; /* Blue 500 */ + color: #3b82f6; + /* Blue 500 */ font-weight: 700; margin-left: 4px; } @@ -1304,7 +1314,7 @@ body { .input-group input { flex: 1; padding: 0.75rem; - background: var(--bg-color); + background: var(--bg-body); border: 1px solid var(--border-color); color: var(--text-primary); border-radius: 8px; @@ -1313,7 +1323,7 @@ body { /* Update Banner Enhanced */ .change-summary { font-size: 0.8rem; - background: rgba(0,0,0,0.1); + background: rgba(0, 0, 0, 0.1); padding: 0.5rem; border-radius: 4px; margin: 0.5rem 0; @@ -1323,6 +1333,7 @@ body { max-height: 100px; overflow-y: auto; } + .update-content { display: flex; flex-direction: column; @@ -1331,21 +1342,22 @@ body { } /* Installer Changelog */ -.changelog-container ul { - padding-left: 1.5rem; +.changelog-container ul { + padding-left: 1.5rem; margin: 0.5rem 0; } + .changelog-container li { margin-bottom: 0.4rem; line-height: 1.5; } + .changelog-container h3 { margin-top: 1.5rem; margin-bottom: 0.5rem; font-size: 1.1em; color: var(--accent-color); -} - +}