sync: actualizar contenido desde staging - botón Login, favicon, estilos
All checks were successful
Deploy Site / deploy (push) Successful in 37s
All checks were successful
Deploy Site / deploy (push) Successful in 37s
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
eef3370f76
commit
7d0ba87abb
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
97
assets/custom.js
Normal file
97
assets/custom.js
Normal file
|
|
@ -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 = '<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
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 4.4 KiB |
12
assets/favicon.svg
Normal file
12
assets/favicon.svg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#0A6CFF"/>
|
||||
<stop offset="100%" stop-color="#1FD1C3"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M120 320c-66 0-120-44-120-104 0-54 42-98 96-102 20-48 68-82 124-82 76 0 140 58 146 132h10c44 0 80 34 80 78s-36 78-80 78H120z" fill="url(#g)"/>
|
||||
<rect x="200" y="210" width="30" height="80" fill="#fff"/>
|
||||
<rect x="240" y="180" width="30" height="110" fill="#fff"/>
|
||||
<rect x="280" y="150" width="30" height="140" fill="#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 610 B |
9
index.md
9
index.md
|
|
@ -1,15 +1,11 @@
|
|||
<div align="center">
|
||||
|
||||
# DOCLOUD
|
||||
|
||||
## Internet Cloud Services
|
||||
|
||||
**Tu partner tecnológico en soluciones cloud**
|
||||
|
||||
Infraestructura fiable, segura y escalable para impulsar tu negocio.
|
||||
|
||||
<a href="https://soporte.tecnico.com.es" style="display:inline-block;background:#0066cc;color:white;padding:12px 30px;text-decoration:none;border-radius:5px;font-weight:bold;margin:10px;">Contactar con Soporte</a>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
|
@ -89,11 +85,6 @@ Equipo experto disponible para resolver cualquier incidencia.
|
|||
|
||||
¿Listo para llevar tu infraestructura al siguiente nivel?
|
||||
|
||||
<a href="https://soporte.tecnico.com.es" style="display:inline-block;background:#28a745;color:white;padding:15px 40px;text-decoration:none;border-radius:5px;font-weight:bold;font-size:18px;margin:20px;">Solicitar Información</a>
|
||||
|
||||
<a href="contacto.html" style="display:inline-block;background:#6c757d;color:white;padding:12px 30px;text-decoration:none;border-radius:5px;margin:10px;">Ver opciones de contacto</a>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue