'; // Block 1: HEADER (intro text with logo, title, subheader) h += '
'; if (data.introHtml) { h += '
' + data.introHtml + '
'; } else { if (data.title) { h += '
' + esc(data.title) + '
'; } if (data.subheader) { h += '
' + esc(data.subheader) + '
'; } } h += '
'; // Block 2: JOB DESCRIPTION if (data.descriptions.length) { h += '
'; data.descriptions.forEach(function (descHtml) { h += '
' + descHtml + '
'; }); h += '
'; } // Block 3: FOOTER (Benefits/Bewerbung info) if (data.footerHtml) { h += '
'; h += '
' + data.footerHtml + '
'; h += '
'; } // QR code at the bottom of left column (after "Sie sind interessiert?") h += '
'; h += '
Jetzt online bewerben:
'; h += '
'; h += '
'; h += '
'; if (section.heading) { h += '
' + esc(section.heading) + '
'; } section.fields.forEach(function (field) { var rowClass = field.stacked ? 'print-info-row print-info-row-stacked' : 'print-info-row'; h += '
'; h += '' + esc(field.label) + ''; h += '' + esc(field.value) + ''; h += '
'; }); h += '
'; }); // Contact area: render only once from the first non-empty visible CSB/plugin variant. // This avoids duplicates when the same contact components exist for desktop/tablet/mobile. if (data.fachContactName || data.contactName) { h += '
'; if (data.contactMainHeading) { h += '
' + esc(data.contactMainHeading) + '
'; } if (data.fachContactName) { h += '
'; h += '
Kontakt Fachbereich
'; h += '
' + esc(data.fachContactName) + '
'; if (data.fachContactPhone) { h += '
' + esc(data.fachContactPhone) + '
'; } h += '
'; } if (data.contactName) { h += '
'; h += '
Kontakt Recruiting
'; h += '
' + esc(data.contactName) + '
'; if (data.contactPhone) { h += '
' + esc(data.contactPhone) + '
'; } h += '
'; } h += '