Compare commits

..

4 Commits

Author SHA1 Message Date
Kantine Wrapper
7ce82ce82e chore: update build artifacts for v1.4.24 2026-02-26 08:58:38 +01:00
Kantine Wrapper
ce12684193 fix: push main branch to GitHub in release script 2026-02-26 08:58:25 +01:00
Kantine Wrapper
6cee38e99f chore: update build artifacts for v1.4.24 2026-02-26 08:35:15 +01:00
Kantine Wrapper
88758427fd fix: favicon base64 encoding for Chrome/Windows compatibility (v1.4.24) 2026-02-26 08:35:09 +01:00
8 changed files with 26 additions and 16 deletions

View File

@@ -1,3 +1,6 @@
## v1.4.24
- 🐛 **Bugfix**: Favicon-Encoding korrigiert `encodeURIComponent` verursachte doppeltes Encoding der Farbcodes (`%23``%2523`). Auf Base64 umgestellt, funktioniert nun auch unter Chrome/Windows.
## v1.4.23
- 🐛 **Bugfix**: Favicon wird jetzt beim Ausführen des Bookmarklets in die Seite injiziert (ersetzt das Bessa-Favicon im Tab). Chrome cached das Icon und übernimmt es anschließend auch in die Lesezeichenleiste.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

16
dist/install.html vendored

File diff suppressed because one or more lines are too long

View File

@@ -2007,7 +2007,8 @@ body {
const favicon = document.createElement('link');
favicon.rel = 'icon';
favicon.type = 'image/svg+xml';
favicon.href = 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><g transform="translate(2,10)"><rect x="1" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="4.6" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="8.2" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="1" y="14" width="9" height="3.5" rx="1.5" fill="%23333"/><rect x="3.5" y="16.5" width="4" height="24" rx="2" fill="%23333"/></g><polygon points="32,8 47,48 17,48" fill="none" stroke="%23333" stroke-width="4" stroke-linejoin="round"/><g transform="translate(50,10)"><path d="M3,0C3,0,3,0,3,0L3,17L10,14C10,6,7,0,3,0Z" fill="%23333"/><rect x="1.5" y="0" width="2" height="18" rx="1" fill="%23333"/><rect x="1.5" y="16.5" width="8.5" height="3.5" rx="1.2" fill="%23333"/><rect x="3.5" y="19" width="4" height="22" rx="2" fill="%23333"/></g></svg>');
// Pre-encoded Base64 of the SVG favicon (triangle + fork & knife)
favicon.href = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiwxMCkiPjxyZWN0IHg9IjEiIHk9IjAiIHdpZHRoPSIxLjgiIGhlaWdodD0iMTYiIHJ4PSIuOSIgZmlsbD0iIzMzMyIvPjxyZWN0IHg9IjQuNiIgeT0iMCIgd2lkdGg9IjEuOCIgaGVpZ2h0PSIxNiIgcng9Ii45IiBmaWxsPSIjMzMzIi8+PHJlY3QgeD0iOC4yIiB5PSIwIiB3aWR0aD0iMS44IiBoZWlnaHQ9IjE2IiByeD0iLjkiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIxIiB5PSIxNCIgd2lkdGg9IjkiIGhlaWdodD0iMy41IiByeD0iMS41IiBmaWxsPSIjMzMzIi8+PHJlY3QgeD0iMy41IiB5PSIxNi41IiB3aWR0aD0iNCIgaGVpZ2h0PSIyNCIgcng9IjIiIGZpbGw9IiMzMzMiLz48L2c+PHBvbHlnb24gcG9pbnRzPSIzMiw4IDQ3LDQ4IDE3LDQ4IiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLDEwKSI+PHBhdGggZD0iTTMsMEMzLDAsMywwLDMsMEwzLDE3TDEwLDE0QzEwLDYsNywwLDMsMFoiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIxLjUiIHk9IjAiIHdpZHRoPSIyIiBoZWlnaHQ9IjE4IiByeD0iMSIgZmlsbD0iIzMzMyIvPjxyZWN0IHg9IjEuNSIgeT0iMTYuNSIgd2lkdGg9IjguNSIgaGVpZ2h0PSIzLjUiIHJ4PSIxLjIiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIzLjUiIHk9IjE5IiB3aWR0aD0iNCIgaGVpZ2h0PSIyMiIgcng9IjIiIGZpbGw9IiMzMzMiLz48L2c+PC9zdmc+';
document.head.appendChild(favicon);
// Inject Google Fonts if not already present
@@ -2031,7 +2032,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.23</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.24</small></h1>
<div id="last-updated-subtitle" class="subtitle"></div>
</div>
<div class="nav-group" style="margin-left: 1rem;">
@@ -2173,7 +2174,7 @@ body {
</div>
<div class="modal-body">
<div style="margin-bottom: 1rem;">
<strong>Aktuell:</strong> <span id="version-current">v1.4.23</span>
<strong>Aktuell:</strong> <span id="version-current">v1.4.24</span>
</div>
<div class="dev-toggle">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer;">
@@ -4026,7 +4027,7 @@ body {
// Periodic update check (runs on init + every hour)
async function checkForUpdates() {
const currentVersion = 'v1.4.23';
const currentVersion = 'v1.4.24';
const devMode = localStorage.getItem('kantine_dev_mode') === 'true';
try {
@@ -4067,7 +4068,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.23';
const currentVersion = 'v1.4.24';
if (!modal) return;
modal.classList.remove('hidden');

View File

@@ -57,7 +57,8 @@
const favicon = document.createElement('link');
favicon.rel = 'icon';
favicon.type = 'image/svg+xml';
favicon.href = 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><g transform="translate(2,10)"><rect x="1" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="4.6" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="8.2" y="0" width="1.8" height="16" rx=".9" fill="%23333"/><rect x="1" y="14" width="9" height="3.5" rx="1.5" fill="%23333"/><rect x="3.5" y="16.5" width="4" height="24" rx="2" fill="%23333"/></g><polygon points="32,8 47,48 17,48" fill="none" stroke="%23333" stroke-width="4" stroke-linejoin="round"/><g transform="translate(50,10)"><path d="M3,0C3,0,3,0,3,0L3,17L10,14C10,6,7,0,3,0Z" fill="%23333"/><rect x="1.5" y="0" width="2" height="18" rx="1" fill="%23333"/><rect x="1.5" y="16.5" width="8.5" height="3.5" rx="1.2" fill="%23333"/><rect x="3.5" y="19" width="4" height="22" rx="2" fill="%23333"/></g></svg>');
// Pre-encoded Base64 of the SVG favicon (triangle + fork & knife)
favicon.href = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiwxMCkiPjxyZWN0IHg9IjEiIHk9IjAiIHdpZHRoPSIxLjgiIGhlaWdodD0iMTYiIHJ4PSIuOSIgZmlsbD0iIzMzMyIvPjxyZWN0IHg9IjQuNiIgeT0iMCIgd2lkdGg9IjEuOCIgaGVpZ2h0PSIxNiIgcng9Ii45IiBmaWxsPSIjMzMzIi8+PHJlY3QgeD0iOC4yIiB5PSIwIiB3aWR0aD0iMS44IiBoZWlnaHQ9IjE2IiByeD0iLjkiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIxIiB5PSIxNCIgd2lkdGg9IjkiIGhlaWdodD0iMy41IiByeD0iMS41IiBmaWxsPSIjMzMzIi8+PHJlY3QgeD0iMy41IiB5PSIxNi41IiB3aWR0aD0iNCIgaGVpZ2h0PSIyNCIgcng9IjIiIGZpbGw9IiMzMzMiLz48L2c+PHBvbHlnb24gcG9pbnRzPSIzMiw4IDQ3LDQ4IDE3LDQ4IiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLDEwKSI+PHBhdGggZD0iTTMsMEMzLDAsMywwLDMsMEwzLDE3TDEwLDE0QzEwLDYsNywwLDMsMFoiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIxLjUiIHk9IjAiIHdpZHRoPSIyIiBoZWlnaHQ9IjE4IiByeD0iMSIgZmlsbD0iIzMzMyIvPjxyZWN0IHg9IjEuNSIgeT0iMTYuNSIgd2lkdGg9IjguNSIgaGVpZ2h0PSIzLjUiIHJ4PSIxLjIiIGZpbGw9IiMzMzMiLz48cmVjdCB4PSIzLjUiIHk9IjE5IiB3aWR0aD0iNCIgaGVpZ2h0PSIyMiIgcng9IjIiIGZpbGw9IiMzMzMiLz48L2c+PC9zdmc+';
document.head.appendChild(favicon);
// Inject Google Fonts if not already present

View File

@@ -49,8 +49,9 @@ echo "=== Pushing to remotes ==="
git push origin HEAD
git push origin --force tag "$VERSION"
# If a remote named 'github' exists, push tags there too
# If a remote named 'github' exists, push branch and tags there too
if git remote | grep -q "^github$"; then
git push github HEAD
git push github --force tag "$VERSION"
fi

View File

@@ -1 +1 @@
v1.4.23
v1.4.24