Merge pull request #10 from TauNeutrino/perf-optimization-ui-helpers-15631658617322624464

 Optimize tag and badge concatenation loops
This commit is contained in:
Michael
2026-03-10 15:20:52 +01:00
committed by GitHub

View File

@@ -242,7 +242,7 @@ export function createDayCard(day) {
header.className = 'card-header'; header.className = 'card-header';
const dateStr = cardDate.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit' }); const dateStr = cardDate.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit' });
const badgesHtml = menuBadges.map(code => `<span class="menu-code-badge">${code}</span>`).join(''); const badgesHtml = menuBadges.reduce((acc, code) => acc + `<span class="menu-code-badge">${code}</span>`, '');
let headerClass = ''; let headerClass = '';
const hasAnyOrder = day.items && day.items.some(item => { const hasAnyOrder = day.items && day.items.some(item => {
@@ -358,10 +358,7 @@ export function createDayCard(day) {
let tagsHtml = ''; let tagsHtml = '';
if (matchedTags.length > 0) { if (matchedTags.length > 0) {
let badges = ''; const badges = matchedTags.reduce((acc, t) => acc + `<span class="tag-badge-small"><span class="material-icons-round" style="font-size:10px;margin-right:2px">star</span>${escapeHtml(t)}</span>`, '');
for (const t of matchedTags) {
badges += `<span class="tag-badge-small"><span class="material-icons-round" style="font-size:10px;margin-right:2px">star</span>${escapeHtml(t)}</span>`;
}
tagsHtml = `<div class="matched-tags">${badges}</div>`; tagsHtml = `<div class="matched-tags">${badges}</div>`;
} }