Files
Coop-NL/src/lib/altText.ts
T
Jakub_HostacnyandClaude Opus 5.5 d43a1dae40 feat: automaticke alt texty s moznostou rucneho prepisu (uloha 14)
- produkt: nazov produktu, ostatne obrazky: nadpis okna / nazov modulu
- z alt textu sa odstrania HTML znacky (napr. <br> v nadpisoch)
- pri kazdom obrazku pole Alt text; ak je vyplnene, ma prednost

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:24:58 +02:00

19 lines
580 B
TypeScript

// Alt text obrázka: prvý neprázdny kandidát (ručne zadaný alt, názov produktu, nadpis okna...),
// bez HTML značiek (napr. <br> v nadpisoch) a nadbytočných medzier
export function pickAlt(...candidates: Array<string | null | undefined>): string {
for (const c of candidates) {
const clean = stripTags(c);
if (clean) return clean;
}
return '';
}
function stripTags(str: string | null | undefined): string {
if (!str) return '';
return String(str)
.replace(/<br\s*\/?>/gi, ' ')
.replace(/<[^>]*>/g, '')
.replace(/\s+/g, ' ')
.trim();
}