| | import { elements } from './domElements'; |
| | import { generatePDF } from './pdfGenerator'; |
| | import { CERTIFICATE_TEMPLATE_URL } from './constants'; |
| |
|
| | export const initCertificateGenerator = () => { |
| | const { form, buttons, preview } = elements; |
| |
|
| | |
| | preview.image().src = CERTIFICATE_TEMPLATE_URL; |
| | preview.container().classList.remove('hidden'); |
| |
|
| | |
| | buttons.generate().addEventListener('click', () => { |
| | preview.nameText().textContent = form.name().value; |
| | preview.dateText().textContent = form.date().value || new Date().toLocaleDateString(); |
| | buttons.download().style.display = 'block'; |
| | }); |
| |
|
| | |
| | buttons.download().addEventListener('click', async () => { |
| | try { |
| | await generatePDF(preview.container()); |
| | } catch (error) { |
| | console.error('PDF generation failed:', error); |
| | } |
| | }); |
| | }; |