feat(ui): display matched highlight tags in menu cards (v1.2.4)

This commit is contained in:
2026-02-16 22:19:41 +01:00
parent f9b29254f9
commit 7296901ad9
8 changed files with 349 additions and 272 deletions

View File

@@ -1,3 +1,6 @@
## v1.2.4 (2026-02-16)
- **Feature**: Gefundene Highlights werden jetzt direkt im Menü als Badge angezeigt. 🏷️
## v1.2.3 (2026-02-16)
- **Fix**: Update-Icon ist jetzt klickbar und führt direkt zum Installer. 🔗
- **Dev**: Unit-Tests für Update-Logik im Build integriert. 🛡️

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

14
dist/install.html vendored

File diff suppressed because one or more lines are too long

View File

@@ -1374,6 +1374,41 @@ body {
}
/* Update Banner Enhanced */
.update-banner {
/* ... existing styles ... */
}
/* Matched Tags in Menu Card */
.matched-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 8px;
/* Space between tags and title */
margin-top: -5px;
/* Pull closer to header */
}
.tag-badge-small {
display: inline-flex;
align-items: center;
font-size: 0.7rem;
padding: 2px 8px;
border-radius: 4px;
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
border: 1px solid rgba(59, 130, 246, 0.3);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
[data-theme="light"] .tag-badge-small {
background: rgba(37, 99, 235, 0.1);
color: #2563eb;
border: 1px solid rgba(37, 99, 235, 0.2);
}
.change-summary {
font-size: 0.8rem;
background: rgba(0, 0, 0, 0.1);
@@ -1667,7 +1702,7 @@ body {
<div class="brand">
<span class="material-icons-round logo-icon">restaurant_menu</span>
<div class="header-left">
<h1>Kantinen Übersicht <small style="font-size: 0.6em; opacity: 0.7; font-weight: 400;">v1.2.3</small></h1>
<h1>Kantinen Übersicht <small style="font-size: 0.6em; opacity: 0.7; font-weight: 400;">v1.2.4</small></h1>
<div id="last-updated-subtitle" class="subtitle"></div>
</div>
</div>
@@ -2306,9 +2341,9 @@ body {
}
function checkHighlight(text) {
if (!text) return false;
if (!text) return [];
text = text.toLowerCase();
return highlightTags.some(tag => text.includes(tag));
return highlightTags.filter(tag => text.includes(tag));
}
// === Local Menu Cache (localStorage) ===
@@ -3005,7 +3040,7 @@ body {
// === Version Check ===
async function checkForUpdates() {
const CurrentVersion = 'v1.2.3';
const CurrentVersion = 'v1.2.4';
const VersionUrl = 'https://raw.githubusercontent.com/TauNeutrino/kantine-overview/main/version.txt';
const InstallerUrl = 'https://htmlpreview.github.io/?https://github.com/TauNeutrino/kantine-overview/blob/main/dist/install.html';

View File

@@ -705,9 +705,9 @@
}
function checkHighlight(text) {
if (!text) return false;
if (!text) return [];
text = text.toLowerCase();
return highlightTags.some(tag => text.includes(tag));
return highlightTags.filter(tag => text.includes(tag));
}
// === Local Menu Cache (localStorage) ===

View File

@@ -1363,6 +1363,41 @@ body {
}
/* Update Banner Enhanced */
.update-banner {
/* ... existing styles ... */
}
/* Matched Tags in Menu Card */
.matched-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 8px;
/* Space between tags and title */
margin-top: -5px;
/* Pull closer to header */
}
.tag-badge-small {
display: inline-flex;
align-items: center;
font-size: 0.7rem;
padding: 2px 8px;
border-radius: 4px;
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
border: 1px solid rgba(59, 130, 246, 0.3);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
[data-theme="light"] .tag-badge-small {
background: rgba(37, 99, 235, 0.1);
color: #2563eb;
border: 1px solid rgba(37, 99, 235, 0.2);
}
.change-summary {
font-size: 0.8rem;
background: rgba(0, 0, 0, 0.1);

View File

@@ -1 +1 @@
v1.2.3
v1.2.4