docloud.es/assets/custom.js
Deploy Bot 7d0ba87abb
All checks were successful
Deploy Site / deploy (push) Successful in 37s
sync: actualizar contenido desde staging - botón Login, favicon, estilos
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 11:58:52 +00:00

98 lines
2.8 KiB
JavaScript

/**
* DO CLOUD - Custom JavaScript
* - Botón Login en header
* - Integración Zammad Feedback Form (carga diferida)
*/
(function() {
'use strict';
// Esperar a que el DOM esté listo
document.addEventListener('DOMContentLoaded', initCustomFeatures);
function initCustomFeatures() {
fixLogoLink();
addLoginButton();
// Cargar Zammad después de la carga inicial (mejora LCP)
if ('requestIdleCallback' in window) {
requestIdleCallback(loadZammadForm);
} else {
setTimeout(loadZammadForm, 2000);
}
}
/**
* Asegura que el logo siempre enlace al home
*/
function fixLogoLink() {
var logoLink = document.querySelector('.logo-link');
if (logoLink) {
logoLink.href = '/';
}
}
/**
* Añade el botón de Login al header
*/
function addLoginButton() {
var header = document.querySelector('.sidebar-header');
if (!header) return;
var loginBtn = document.createElement('a');
loginBtn.href = 'https://icsmanager.docloud.es/ics1';
loginBtn.className = 'header-login-btn';
loginBtn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>Login';
loginBtn.setAttribute('rel', 'noopener');
loginBtn.setAttribute('title', 'Acceder al panel de cliente');
header.appendChild(loginBtn);
}
/**
* Carga jQuery y Zammad Form
*/
function loadZammadForm() {
// Crear botón de feedback
var feedbackBtn = document.createElement('button');
feedbackBtn.id = 'zammad-feedback-form';
feedbackBtn.textContent = 'Contactar';
document.body.appendChild(feedbackBtn);
// Cargar jQuery si no existe
if (typeof jQuery === 'undefined') {
var jqueryScript = document.createElement('script');
jqueryScript.src = 'https://code.jquery.com/jquery-3.6.0.min.js';
jqueryScript.onload = loadZammadScript;
document.head.appendChild(jqueryScript);
} else {
loadZammadScript();
}
}
/**
* Carga el script de Zammad y inicializa el formulario
*/
function loadZammadScript() {
var zammadScript = document.createElement('script');
zammadScript.id = 'zammad_form_script';
zammadScript.src = 'https://soporte.tecnico.com.es/assets/form/form.js';
zammadScript.onload = initZammadForm;
document.head.appendChild(zammadScript);
}
/**
* Inicializa el formulario de Zammad
*/
function initZammadForm() {
if (typeof jQuery !== 'undefined' && jQuery.fn.ZammadForm) {
jQuery('#zammad-feedback-form').ZammadForm({
messageTitle: 'Contacto con Soporte',
messageSubmit: 'Enviar',
messageThankYou: 'Gracias por su consulta (#%s). Nos pondremos en contacto con usted lo antes posible.',
modal: true
});
}
}
})();