fix: Use background-blue.jpeg for AIcertifikatGablas (signatures baked in)

Same approach as ScrumMaster - signatures are already in the background image,
no need to overlay separate PNG files which had quality issues.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
richardtekula
2026-01-29 17:37:54 +01:00
parent ac429deba3
commit 159c22da16
3 changed files with 45 additions and 113 deletions

View File

@@ -27,7 +27,7 @@ export const CERTIFICATE_TEMPLATES = {
name: 'AI Certifikát (Gablas)', name: 'AI Certifikát (Gablas)',
file: 'AIcertifikatGablas.html', file: 'AIcertifikatGablas.html',
description: 'AI kurz - lektor Gablas + Gablasová', description: 'AI kurz - lektor Gablas + Gablasová',
background: 'background.jpeg', background: 'background-blue.jpeg',
}, },
AIcertifikatPatrik: { AIcertifikatPatrik: {
name: 'AI Certifikát (Patrik)', name: 'AI Certifikát (Patrik)',

View File

@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Osvedčenie - {{participantName}}</title> <title>Osvedčenie - {{participantName}}</title>
<style> <style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Open+Sans:wght@300;400;500;600&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Bahnschrift:wght@400;600;700&family=Open+Sans:wght@300;400;500;600;700&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; } * { margin: 0; padding: 0; box-sizing: border-box; }
@page { size: A4 landscape; margin: 0; } @page { size: A4 landscape; margin: 0; }
@@ -22,141 +22,73 @@
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.content { /* Main content - centered in the white area */
.main-content {
position: absolute; position: absolute;
top: 28mm; top: 50%;
left: 0; left: 50%;
right: 0; transform: translate(-50%, -50%);
text-align: center; text-align: center;
} margin-top: -15mm;
.main-title {
font-family: 'Playfair Display', Georgia, serif;
font-size: 52pt;
font-weight: 700;
letter-spacing: 14px;
color: #1a1a1a;
text-transform: uppercase;
margin-bottom: 2mm;
}
.subtitle {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 18pt;
font-weight: 400;
color: #333;
letter-spacing: 1px;
margin-bottom: 18mm;
}
.course-section { margin-top: 5mm; }
.course-title {
font-family: 'Playfair Display', Georgia, serif;
font-size: 32pt;
font-weight: 600;
color: #1a1a1a;
margin-bottom: 3mm;
}
.course-modules {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 13pt;
font-weight: 500;
color: #333;
line-height: 1.5;
margin-bottom: 2mm;
}
.course-dates {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 12pt;
font-weight: 400;
color: #444;
} }
.participant-name { .participant-name {
font-family: 'Playfair Display', Georgia, serif; font-size: 28pt;
font-size: 36pt; font-weight: 700;
color: #1a1a1a;
margin-bottom: 8mm;
}
.course-title {
font-family: 'Bahnschrift', 'Open Sans', Arial, sans-serif;
font-size: 24pt;
font-weight: 700;
color: #1a1a1a;
margin-bottom: 4mm;
}
.course-dates {
font-size: 14pt;
font-weight: 600; font-weight: 600;
color: #1a1a1a; color: #1a1a1a;
margin-top: 14mm; margin-bottom: 2mm;
} }
.footer-section { .course-hours {
font-size: 14pt;
font-weight: 600;
color: #1a1a1a;
}
/* Issue date - above "Dátum" at bottom left */
.issue-date {
position: absolute; position: absolute;
bottom: 28mm; bottom: 42mm;
left: 25mm; left: 28mm;
right: 25mm; font-size: 12pt;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.date-location {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 11pt;
color: #333; color: #333;
} }
.signatures { display: flex; gap: 25mm; }
.signature { text-align: center; min-width: 55mm; }
.signature-image { height: 18mm; margin-bottom: 1mm; object-fit: contain; }
.signature-line { width: 55mm; height: 0.4mm; background: #333; margin: 0 auto 2mm auto; }
.signature-name { font-family: 'Open Sans', Arial, sans-serif; font-size: 10pt; font-weight: 600; color: #1a1a1a; }
.signature-title { font-family: 'Open Sans', Arial, sans-serif; font-size: 9pt; font-weight: 400; color: #555; }
.certificate-id { .certificate-id {
position: absolute; position: absolute;
bottom: 20mm; bottom: 10mm;
right: 25mm; right: 18mm;
font-family: 'Open Sans', Arial, sans-serif;
font-size: 7pt; font-size: 7pt;
color: #999; color: #666;
letter-spacing: 0.5px;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="certificate"> <div class="certificate">
<div class="content"> <div class="main-content">
<h1 class="main-title">O S V E D Č E N I E</h1> <h3 class="participant-name">{{participantName}}</h3>
<p class="subtitle">o absolvovaní kurzu</p>
<div class="course-section">
<h2 class="course-title">{{courseTitle}}</h2> <h2 class="course-title">{{courseTitle}}</h2>
{{#if courseModules}}
<p class="course-modules">{{courseModules}}</p>
{{/if}}
{{#if dateRange}} {{#if dateRange}}
<p class="course-dates">{{dateRange}}</p> <p class="course-dates">{{dateRange}}</p>
{{/if}} {{/if}}
</div> </div>
<h3 class="participant-name">{{participantName}}</h3> <div class="issue-date">{{issueDate}}</div>
</div>
<div class="footer-section">
<div class="date-location">
V Bratislave {{issueDate}}
</div>
<div class="signatures">
<div class="signature">
<img src="{{signatureGablas}}" alt="Podpis" class="signature-image" />
<div class="signature-line"></div>
<p class="signature-name">Ing. Branislav Gablas, PhD.</p>
<p class="signature-title">lektor</p>
</div>
<div class="signature">
<img src="{{signatureGablasova}}" alt="Podpis" class="signature-image" />
<div class="signature-line"></div>
<p class="signature-name">Ing. Jana Gablasová</p>
<p class="signature-title">konateľ</p>
</div>
</div>
</div>
<div class="certificate-id">ID: {{certificateId}}</div> <div class="certificate-id">ID: {{certificateId}}</div>
</div> </div>
</body> </body>