diff --git a/assets/custom.css b/assets/custom.css index 7ef1db3..9fbe9fd 100644 --- a/assets/custom.css +++ b/assets/custom.css @@ -49,7 +49,7 @@ footer.page-footer { width: 100% !important; height: 70px !important; background: white !important; - box-shadow: 0 2px 15px rgba(11, 30, 59, 0.1) !important; + box-shadow: none !important; display: flex !important; align-items: center !important; padding: 0 30px !important; @@ -59,8 +59,12 @@ footer.page-footer { .sidebar-header { display: flex !important; align-items: center !important; + justify-content: space-between !important; width: 100% !important; height: 100% !important; + border-bottom: none !important; + padding-bottom: 0 !important; + margin-bottom: 0 !important; } .sidebar-header .logo-link { @@ -68,6 +72,12 @@ footer.page-footer { align-items: center !important; } +/* Ocultar t铆tulo DO CLOUD del header */ +.sidebar-header h1, +.sidebar h1 { + display: none !important; +} + .sidebar-header .logo-link img { max-height: 45px !important; width: auto !important; @@ -229,3 +239,99 @@ div[align="center"]:last-of-type a { [data-theme="dark"] th { background: var(--primary-gradient) !important; } + +/* ============================================ + BOT脫N LOGIN EN HEADER + ============================================ */ +.header-login-btn { + display: inline-flex !important; + align-items: center; + gap: 10px; + background: var(--primary-gradient) !important; + color: white !important; + padding: 12px 28px !important; + border-radius: 8px; + font-weight: 700; + font-size: 15px; + text-decoration: none !important; + transition: all 0.3s ease; + box-shadow: 0 4px 15px rgba(10, 108, 255, 0.35); + border: none; + cursor: pointer; + letter-spacing: 0.3px; +} + +.header-login-btn:hover { + transform: translateY(-3px); + box-shadow: 0 6px 20px rgba(10, 108, 255, 0.5); + filter: brightness(1.1); + color: white !important; +} + +.header-login-btn:active { + transform: translateY(-1px); +} + +.header-login-btn svg { + width: 18px; + height: 18px; + fill: currentColor; +} + +/* ============================================ + BOT脫N FEEDBACK ZAMMAD (flotante) + ============================================ */ +#zammad-feedback-form { + position: fixed; + bottom: 20px; + right: 20px; + background: var(--primary-gradient); + color: white; + border: none; + padding: 12px 24px; + border-radius: 50px; + font-weight: 600; + font-size: 14px; + cursor: pointer; + box-shadow: 0 4px 20px rgba(10, 108, 255, 0.4); + transition: all 0.3s ease; + z-index: 999; + display: inline-flex; + align-items: center; + gap: 8px; +} + +#zammad-feedback-form:hover { + transform: translateY(-3px); + box-shadow: 0 6px 25px rgba(10, 108, 255, 0.5); +} + +#zammad-feedback-form::before { + content: '馃挰'; + font-size: 16px; +} + +/* Estilos para modal de Zammad */ +.zammad-form-modal { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; +} + +.zammad-form-modal .zammad-form-modal-body { + border-radius: 12px !important; +} + +.zammad-form-modal input, +.zammad-form-modal textarea, +.zammad-form-modal select { + border-radius: 6px !important; + border: 1px solid var(--light-gray) !important; + padding: 10px 12px !important; +} + +.zammad-form-modal button[type="submit"] { + background: var(--primary-gradient) !important; + border: none !important; + border-radius: 6px !important; + padding: 12px 24px !important; + font-weight: 600 !important; +} diff --git a/assets/custom.js b/assets/custom.js new file mode 100644 index 0000000..d99bb14 --- /dev/null +++ b/assets/custom.js @@ -0,0 +1,97 @@ +/** + * 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 = '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 + }); + } + } + +})(); diff --git a/assets/favicon.png b/assets/favicon.png index 0415621..59113b1 100644 Binary files a/assets/favicon.png and b/assets/favicon.png differ diff --git a/assets/favicon.svg b/assets/favicon.svg new file mode 100644 index 0000000..b00c433 --- /dev/null +++ b/assets/favicon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/index.md b/index.md index b2dfb0f..e1dfed1 100644 --- a/index.md +++ b/index.md @@ -1,15 +1,11 @@
-# DOCLOUD - ## Internet Cloud Services **Tu partner tecnol贸gico en soluciones cloud** Infraestructura fiable, segura y escalable para impulsar tu negocio. -Contactar con Soporte -
--- @@ -89,11 +85,6 @@ Equipo experto disponible para resolver cualquier incidencia. 驴Listo para llevar tu infraestructura al siguiente nivel? -Solicitar Informaci贸n - -Ver opciones de contacto - - --- diff --git a/nginx.conf b/nginx.conf index 4ce4a4e..e096211 100644 --- a/nginx.conf +++ b/nginx.conf @@ -51,4 +51,6 @@ server { add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; }