| 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); |
| } |
| }); |
| }; |