File size: 1,826 Bytes
5f3e9f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 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';
    }
}