Spaces:
Running
Running
| // HTML to Image Tool — Uses shared GenerationManager | |
| // Initialize the html-to-image manager | |
| const htmlManager = new GenerationManager({ | |
| mode: 'html', | |
| inputId: 'htmlInput', | |
| loadingId: 'htmlLoading', | |
| errorId: 'htmlError', | |
| resultId: 'htmlResult', | |
| buttonContainerId: 'htmlButtonContainer', | |
| generateEndpoint: '/generate-html', | |
| inputField: 'html', | |
| useSSE: false, // HTML mode uses direct fetch (no AI step) | |
| hasPreview: false | |
| }); | |
| // Generate from HTML — delegates to shared manager | |
| function generateFromHtml() { | |
| // Validate settings before generating (#18) | |
| if (typeof SettingsManager !== 'undefined') { | |
| SettingsManager.validateAll('html'); | |
| SettingsManager.saveToolSettings('html'); | |
| } | |
| htmlManager.generate(); | |
| } | |
| // Regenerate from HTML form — delegates to shared manager | |
| function regenerateFromHtmlForm() { | |
| htmlManager.regenerate(); | |
| } | |
| // Toggle advanced settings for HTML mode | |
| function toggleAdvancedHtml() { | |
| const settings = document.getElementById('advancedSettingsHtml'); | |
| const icon = document.getElementById('advancedIconHtml'); | |
| const isHidden = settings.classList.contains('hidden'); | |
| settings.classList.toggle('hidden'); | |
| if (isHidden) { | |
| icon.style.transform = 'rotate(180deg)'; | |
| } else { | |
| icon.style.transform = 'rotate(0)'; | |
| } | |
| } | |
| // Reset advanced settings for HTML mode | |
| function resetAdvancedHtml() { | |
| if (confirm('Reset advanced settings to defaults?')) { | |
| document.getElementById('htmlZoom').value = '2.1'; | |
| document.getElementById('htmlOverlap').value = '20'; | |
| document.getElementById('htmlViewportWidth').value = '1920'; | |
| document.getElementById('htmlViewportHeight').value = '1080'; | |
| document.getElementById('htmlMaxScreenshots').value = '50'; | |
| } | |
| } | |