📸 SnapFeedback
`; await navigator.clipboard.writeText(code); // Track embed code copy fetch(`${API_BASE}/api/track`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ event_type: 'embed_code_copied', metadata: { form_id: formId } }) }).catch(() => {}); alert('Embed code copied! Paste it before tag.'); } async function viewSubmissions(formId, formName) { document.getElementById('submissionsModal').classList.remove('hidden'); document.getElementById('submissionsTitle').textContent = `Submissions: ${formName}`; try { const res = await fetch(`${API_BASE}/api/forms/${formId}/submissions`, { headers: { 'Authorization': `Bearer ${token}` } }); if (!res.ok) throw new Error('Failed to load submissions'); const submissions = await res.json(); if (submissions.length === 0) { document.getElementById('submissionsList').innerHTML = '

No submissions yet

'; } else { renderSubmissions(submissions); } } catch (err) { document.getElementById('submissionsList').innerHTML = '

Failed to load submissions

'; } } function renderSubmissions(submissions) { const html = submissions.map(sub => `
${new Date(sub.created_at).toLocaleString()} ${sub.page_url ? `View Page` : ''}
${escapeHtml(JSON.stringify(sub.data_json, null, 2))}
${sub.referrer ? `
Referrer: ${escapeHtml(sub.referrer)}
` : ''}
`).join(''); document.getElementById('submissionsList').innerHTML = html; } function closeSubmissionsModal() { document.getElementById('submissionsModal').classList.add('hidden'); } // Initialize if (token) { showDashboard(); }