toast('Link copiado!', 'success')).catch(() => toast('Erro ao copiar', 'error')) } function openDetailPanel(title, bodyHtml) { document.getElementById('detail-panel-title').textContent = title document.getElementById('detail-panel-body').innerHTML = bodyHtml document.getElementById('detail-panel').classList.add('open') } function closeDetailPanel() { document.getElementById('detail-panel').classList.remove('open') } async function doChangePassword() { const cur = document.getElementById('f-current-pass').value const nw = document.getElementById('f-new-pass').value const conf = document.getElementById('f-confirm-pass').value if (!cur || !nw || !conf) { toast('Preencha todos os campos', 'error'); return } if (nw !== conf) { toast('Senhas não coincidem', 'error'); return } const r = await api('/api/auth/change-password', { method: 'POST', body: JSON.stringify({ current_password: cur, new_password: nw }) }) if (r?.success) { toast('Senha alterada com sucesso', 'success'); closeModal() } else toast(r?.error || 'Erro ao alterar senha', 'error') } DOCTYPE html> Belgitour OS

Belgitour OS v3.1 — Fase 7

Digite para buscar em todos os módulos
Detalhes