fix: panel-title shows proper manufacturer name, not auto-generated slug

- isSlugLike() detects 'scraped-...' and lowercase-only-dash strings
- Priority: standard_name (if real) → part_number (if real) → description → constructed name
- Avoids showing 'scraped-o-czz8hg-z-a' as product title
This commit is contained in:
Rene Fichtmueller 2026-04-01 21:23:18 +02:00
parent 3de658b9cb
commit 4d4ffcf5a5

View File

@ -1833,8 +1833,15 @@ async function openTxDetail(id) {
} }
h += '</div>'; h += '</div>';
// Title + Vendor badge // Title below image — show proper manufacturer designation, never auto-generated slugs
h += '<div class="panel-title">' + esc(t.standard_name || t.slug) + '</div>'; // A real name has mixed case or dots/digits; a slug looks like "scraped-o-czz8hg-z-a"
var isSlugLike = function(s) { return !s || s.startsWith('scraped-') || /^[a-z0-9-]+$/.test(s); };
var titleName = (!isSlugLike(t.standard_name) ? t.standard_name : null)
|| (!isSlugLike(t.part_number) ? t.part_number : null)
|| t.description
|| txDescName(t)
|| t.slug;
h += '<div class="panel-title">' + esc(titleName) + '</div>';
h += '<div class="panel-sub">'; h += '<div class="panel-sub">';
if (t.vendor_name) h += '<span class="b b-blue" title="Hersteller / Marke dieses Produkts">' + esc(t.vendor_name) + '</span> '; if (t.vendor_name) h += '<span class="b b-blue" title="Hersteller / Marke dieses Produkts">' + esc(t.vendor_name) + '</span> ';
if (t.category) h += '<span class="b b-neutral" title="Einsatzbereich: ' + esc(t.category) + '">' + esc(t.category) + '</span> '; if (t.category) h += '<span class="b b-neutral" title="Einsatzbereich: ' + esc(t.category) + '">' + esc(t.category) + '</span> ';