Todos los componentes del NIVEL 2 ya están implementados correctamente: - ✅ Notification Bar (#49) - ✅ Navbar (#50) - ✅ Hero Section (#51) - ✅ Sidebar (#52) - ✅ Footer (#53) Solo se actualizó notification-bar.css para usar variables CSS. Próximo paso: NIVEL 3 (Refinamientos visuales) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1135 lines
29 KiB
Markdown
1135 lines
29 KiB
Markdown
# Análisis de GAP Detallado - Template RDash vs Tema Actual
|
|
|
|
**Fecha:** 2025-11-04
|
|
**Versión:** 1.0
|
|
**Tema:** Apus Theme v1.0.0
|
|
**Template Referencia:** RDash Single Post Template
|
|
|
|
---
|
|
|
|
## Resumen Ejecutivo
|
|
|
|
Este documento presenta un análisis detallado de las diferencias entre el template de referencia RDash y el tema actual implementado en WordPress. El objetivo es identificar componentes faltantes, diferencias visuales y establecer un plan de implementación priorizado.
|
|
|
|
**Métricas Clave:**
|
|
- **Template:** 825 líneas CSS + 366 líneas JS
|
|
- **Tema Actual:** 3,500+ líneas de código distribuidas en módulos
|
|
- **Bootstrap:** Template usa 5.3.2, Tema usa 5.3.8
|
|
- **Componentes Implementados:** ~70%
|
|
- **Componentes Faltantes/Diferentes:** ~30%
|
|
|
|
---
|
|
|
|
## 1. Componentes NO Implementados en el Tema
|
|
|
|
### 1.1 TOC Sticky con ScrollSpy (CRÍTICO)
|
|
|
|
**Estado:** TOC básico implementado, pero falta versión sticky con scrollspy
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.apus-toc {
|
|
position: sticky;
|
|
top: 5.5rem;
|
|
background: #ffffff;
|
|
border-radius: 12px;
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
max-height: calc(100vh - 6rem);
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* Scrollbar personalizado */
|
|
.apus-toc::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.apus-toc::-webkit-scrollbar-thumb {
|
|
background: #cbd5e0;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.apus-toc::-webkit-scrollbar-thumb:hover {
|
|
background: #a0aec0;
|
|
}
|
|
```
|
|
|
|
**JavaScript ScrollSpy:**
|
|
```javascript
|
|
// Highlight active heading based on scroll position
|
|
const observerOptions = {
|
|
rootMargin: '-20% 0px -35% 0px'
|
|
};
|
|
|
|
const observer = new IntersectionObserver((entries) => {
|
|
entries.forEach(entry => {
|
|
const id = entry.target.getAttribute('id');
|
|
const tocLink = document.querySelector(`.apus-toc a[href="#${id}"]`);
|
|
|
|
if (entry.isIntersecting) {
|
|
document.querySelectorAll('.apus-toc a').forEach(link => {
|
|
link.classList.remove('active');
|
|
});
|
|
tocLink?.classList.add('active');
|
|
}
|
|
});
|
|
}, observerOptions);
|
|
```
|
|
|
|
**Tema Actual:**
|
|
- TOC básico implementado en `D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\toc.css`
|
|
- Falta: Position sticky, scrollspy activo, scrollbar personalizado
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: TOC sticky que sigue el scroll
|
|
- Tema: TOC estático sin seguimiento de posición
|
|
|
|
**Prioridad:** **CRÍTICO** - Componente core de UX
|
|
|
|
---
|
|
|
|
### 1.2 Botón "Let's Talk" con Gradiente Naranja (ALTO)
|
|
|
|
**Estado:** NO implementado
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.btn-lets-talk {
|
|
background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
|
|
color: #ffffff;
|
|
padding: 0.875rem 1.75rem;
|
|
border-radius: 8px;
|
|
font-weight: 600;
|
|
font-size: 1rem;
|
|
border: none;
|
|
box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.btn-lets-talk:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
|
|
background: linear-gradient(135deg, #FF5722 0%, #FF7043 100%);
|
|
}
|
|
|
|
.btn-lets-talk:active {
|
|
transform: translateY(0);
|
|
box-shadow: 0 2px 8px rgba(255, 107, 53, 0.3);
|
|
}
|
|
```
|
|
|
|
**Ubicación:** Header navigation, derecho
|
|
|
|
**Tema Actual:**
|
|
- No existe botón CTA en header
|
|
- CTA Box sidebar existe pero con diferentes colores
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: Gradiente naranja #FF6B35 → #FF8C42
|
|
- Tema: N/A
|
|
|
|
**Prioridad:** **ALTO** - Componente de conversión principal
|
|
|
|
---
|
|
|
|
### 1.3 Paginación Profesional con Estilos Avanzados (MEDIO)
|
|
|
|
**Estado:** Paginación básica implementada, falta diseño avanzado
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.pagination {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
margin: 3rem 0;
|
|
}
|
|
|
|
.page-numbers {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 44px;
|
|
min-height: 44px;
|
|
padding: 0.5rem 0.75rem;
|
|
background: #ffffff;
|
|
border: 2px solid #e2e8f0;
|
|
border-radius: 8px;
|
|
color: #4a5568;
|
|
font-weight: 600;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.page-numbers:hover {
|
|
background: #1a73e8;
|
|
border-color: #1a73e8;
|
|
color: #ffffff;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(26, 115, 232, 0.3);
|
|
}
|
|
|
|
.page-numbers.current {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
|
|
border-color: transparent;
|
|
color: #ffffff;
|
|
box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
|
|
}
|
|
|
|
.page-numbers.dots {
|
|
border: none;
|
|
pointer-events: none;
|
|
color: #cbd5e0;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* style.css líneas 437-479 */
|
|
.nav-links .page-numbers {
|
|
display: inline-flex;
|
|
min-width: 44px;
|
|
min-height: 44px;
|
|
border: 1px solid #dee2e6; /* Borde simple */
|
|
border-radius: 4px; /* Menos redondeado */
|
|
transition: all 0.3s ease; /* Sin cubic-bezier */
|
|
}
|
|
```
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: Bordes 2px, border-radius 8px, gradiente en current
|
|
- Tema: Bordes 1px, border-radius 4px, color sólido
|
|
- Template: Transform y shadow en hover
|
|
- Tema: Solo cambio de color
|
|
|
|
**Prioridad:** **MEDIO** - Mejora visual
|
|
|
|
---
|
|
|
|
### 1.4 Modal de Contacto Dinámico Mejorado (MEDIO)
|
|
|
|
**Estado:** Modal básico implementado (Issue #34), falta refinamiento
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.contact-modal .modal-content {
|
|
border-radius: 16px;
|
|
border: none;
|
|
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.contact-modal .modal-header {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
|
|
color: #ffffff;
|
|
border-radius: 16px 16px 0 0;
|
|
padding: 1.5rem 2rem;
|
|
border-bottom: none;
|
|
}
|
|
|
|
.contact-modal .modal-title {
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.contact-modal .btn-close {
|
|
filter: brightness(0) invert(1); /* Blanco */
|
|
opacity: 1;
|
|
}
|
|
|
|
.contact-modal .form-control:focus {
|
|
border-color: #1a73e8;
|
|
box-shadow: 0 0 0 0.25rem rgba(26, 115, 232, 0.15);
|
|
}
|
|
|
|
.contact-modal .btn-primary {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
|
|
border: none;
|
|
padding: 0.875rem 2rem;
|
|
font-weight: 600;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
- Modal implementado en `D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\modal-contact.css`
|
|
- Falta: Border-radius 16px, sombras más profundas, btn-close blanco
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: border-radius 16px, shadow 0 20px 60px
|
|
- Tema: Estilos más básicos
|
|
|
|
**Prioridad:** **MEDIO** - Modal funcional pero puede mejorar
|
|
|
|
---
|
|
|
|
### 1.5 Animación Pulse en CTA Box Sidebar (BAJO)
|
|
|
|
**Estado:** CTA Box implementado (Issue #36), falta animación pulse
|
|
|
|
**Template RDash:**
|
|
```css
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.3);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
box-shadow: 0 6px 20px rgba(255, 134, 0, 0.5);
|
|
transform: scale(1.02);
|
|
}
|
|
}
|
|
|
|
.cta-box-sidebar {
|
|
animation: pulse 3s ease-in-out infinite;
|
|
}
|
|
|
|
.cta-box-sidebar:hover {
|
|
animation: none; /* Detener pulse al hacer hover */
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\cta-box-sidebar.css */
|
|
.cta-box-sidebar {
|
|
/* Sin animación pulse */
|
|
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.3);
|
|
}
|
|
```
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: Animación sutil que llama la atención
|
|
- Tema: Estático
|
|
|
|
**Prioridad:** **BAJO** - Detalle de UX opcional
|
|
|
|
---
|
|
|
|
### 1.6 Related Posts con Cards Grises y Hover Effects Completos (ALTO)
|
|
|
|
**Estado:** Implementado pero con diferencias visuales
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.related-post-card {
|
|
background: #f7fafc; /* Gris claro de fondo */
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
border: 1px solid #e2e8f0;
|
|
}
|
|
|
|
.related-post-card:hover {
|
|
background: #ffffff;
|
|
border-color: #1a73e8;
|
|
transform: translateY(-8px); /* Más pronunciado */
|
|
box-shadow: 0 12px 32px rgba(26, 115, 232, 0.15);
|
|
}
|
|
|
|
.related-post-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 4px;
|
|
height: 100%;
|
|
background: linear-gradient(180deg, #1e3a5f 0%, #1a73e8 100%);
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.related-post-card:hover::before {
|
|
opacity: 1;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\related-posts.css */
|
|
.related-post-card {
|
|
background: #ffffff; /* Blanco, no gris */
|
|
border-radius: 12px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
.related-post-card:hover {
|
|
transform: translateY(-4px); /* Menos pronunciado */
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
/* Sin borde lateral izquierdo */
|
|
```
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: Fondo gris #f7fafc, borde izquierdo gradiente en hover
|
|
- Tema: Fondo blanco, sin borde lateral
|
|
- Template: translateY(-8px)
|
|
- Tema: translateY(-4px)
|
|
|
|
**Prioridad:** **ALTO** - Componente visible importante
|
|
|
|
---
|
|
|
|
### 1.7 Top Notification Bar con Colores RDash (CRÍTICO)
|
|
|
|
**Estado:** Implementado (Issue #39) pero sin verificar colores exactos
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.top-notification-bar {
|
|
background-color: #4C5C6B; /* Color específico */
|
|
color: #ffffff;
|
|
padding: 0.75rem 1rem;
|
|
font-size: 0.875rem;
|
|
text-align: center;
|
|
position: relative;
|
|
z-index: 1001;
|
|
}
|
|
|
|
.top-notification-bar a {
|
|
color: #61c7cd; /* Turquesa hover */
|
|
text-decoration: underline;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.top-notification-bar a:hover {
|
|
color: #4fb3b9;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.notification-close {
|
|
position: absolute;
|
|
right: 1rem;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
background: transparent;
|
|
border: none;
|
|
color: rgba(255, 255, 255, 0.8);
|
|
font-size: 1.25rem;
|
|
cursor: pointer;
|
|
padding: 0.25rem 0.5rem;
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.notification-close:hover {
|
|
color: #ffffff;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
- Implementado en `D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\notification-bar.css`
|
|
- Verificar colores exactos: #4C5C6B, #61c7cd
|
|
|
|
**Prioridad:** **CRÍTICO** - Identidad visual
|
|
|
|
---
|
|
|
|
### 1.8 Navbar con Efectos Hover Turquesa Exactos (CRÍTICO)
|
|
|
|
**Estado:** Implementado pero verificar colores RDash
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.navbar {
|
|
background-color: #0E2337; /* Azul oscuro */
|
|
padding: 1rem 0;
|
|
}
|
|
|
|
.navbar-nav .nav-link {
|
|
color: rgba(255, 255, 255, 0.85);
|
|
padding: 0.5rem 1rem;
|
|
transition: all 0.3s ease;
|
|
position: relative;
|
|
}
|
|
|
|
.navbar-nav .nav-link:hover,
|
|
.navbar-nav .nav-link:focus {
|
|
color: #61c7cd; /* Turquesa exacto */
|
|
background-color: rgba(97, 199, 205, 0.1);
|
|
}
|
|
|
|
.navbar-nav .nav-link::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 0;
|
|
height: 2px;
|
|
background-color: #61c7cd;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.navbar-nav .nav-link:hover::after {
|
|
width: 100%;
|
|
}
|
|
|
|
.navbar-nav .nav-link.active {
|
|
color: #61c7cd;
|
|
}
|
|
|
|
.navbar-nav .nav-link.active::after {
|
|
width: 100%;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\header.css */
|
|
/* Estilos básicos, sin underline animado */
|
|
```
|
|
|
|
**Diferencias Visuales:**
|
|
- Template: Underline animado con ::after
|
|
- Tema: Sin underline
|
|
- Template: Background color en hover
|
|
- Tema: Solo cambio de color
|
|
|
|
**Prioridad:** **CRÍTICO** - Identidad visual RDash
|
|
|
|
---
|
|
|
|
## 2. Componentes Implementados con Diferencias Visuales
|
|
|
|
### 2.1 Hero Section
|
|
|
|
**Estado:** ✅ Implementado (Issue #40)
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.hero-section {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
|
|
padding: 3rem 1rem; /* Más padding */
|
|
text-align: center;
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\hero-section.css */
|
|
.hero-section {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%); ✅
|
|
color: #ffffff;
|
|
margin-bottom: 2rem;
|
|
/* padding no especificado, verificar */
|
|
}
|
|
```
|
|
|
|
**Ajustes Necesarios:**
|
|
- Verificar padding: 3rem 1rem vs actual
|
|
- Verificar alineación text-align: center
|
|
|
|
**Prioridad:** **BAJO** - Funcional, solo ajustes
|
|
|
|
---
|
|
|
|
### 2.2 CTA Box Sidebar
|
|
|
|
**Estado:** ✅ Implementado (Issue #36)
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.cta-box-sidebar {
|
|
background: linear-gradient(135deg, #FF8600 0%, #FFB800 100%); ✅
|
|
border-radius: 12px;
|
|
padding: 1.5rem;
|
|
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.3);
|
|
position: sticky;
|
|
top: 5.5rem;
|
|
animation: pulse 3s ease-in-out infinite; /* FALTA */
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\cta-box-sidebar.css */
|
|
.cta-box-sidebar {
|
|
background: linear-gradient(135deg, #FF8600 0%, #FFB800 100%); ✅
|
|
border-radius: 12px; ✅
|
|
padding: 1.5rem; ✅
|
|
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.3); ✅
|
|
position: sticky; ✅
|
|
top: 5.5rem; ✅
|
|
/* animation pulse FALTA */
|
|
}
|
|
```
|
|
|
|
**Ajustes Necesarios:**
|
|
- Agregar animación pulse (opcional)
|
|
|
|
**Prioridad:** **BAJO** - Detalle opcional
|
|
|
|
---
|
|
|
|
### 2.3 Tablas APU
|
|
|
|
**Estado:** ✅ Implementado perfectamente
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.analisis table {
|
|
border: none;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.analisis table thead tr th {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%); ✅
|
|
}
|
|
|
|
.analisis table tbody tr:nth-child(even) {
|
|
background-color: #f8f9fa; /* Zebra striping */ ✅
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\tables-apu.css */
|
|
/* ✅ IMPLEMENTACIÓN COMPLETA Y CORRECTA */
|
|
```
|
|
|
|
**Ajustes Necesarios:**
|
|
- Ninguno
|
|
|
|
**Prioridad:** **N/A** - Perfecto
|
|
|
|
---
|
|
|
|
### 2.4 Social Share Buttons
|
|
|
|
**Estado:** ✅ Implementado
|
|
|
|
**Template RDash:**
|
|
```css
|
|
.share-buttons .btn:hover {
|
|
transform: translateY(-3px) scale(1.1);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
```
|
|
|
|
**Tema Actual:**
|
|
```css
|
|
/* D:\_Desarrollo\02AnalisisDePreciosUnitarios\analisisdepreciosunitarios.com\wp-content\themes\apus-theme\assets\css\social-share.css */
|
|
.share-buttons .btn:hover {
|
|
transform: translateY(-3px) scale(1.1); ✅
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); ✅
|
|
}
|
|
```
|
|
|
|
**Ajustes Necesarios:**
|
|
- Ninguno
|
|
|
|
**Prioridad:** **N/A** - Perfecto
|
|
|
|
---
|
|
|
|
### 2.5 Footer Contact Form
|
|
|
|
**Estado:** ✅ Implementado (Issue #37)
|
|
|
|
**Diferencias:** Mínimas, solo verificar colores de botones
|
|
|
|
**Prioridad:** **BAJO** - Funcional
|
|
|
|
---
|
|
|
|
## 3. Prioridad de Componentes Faltantes
|
|
|
|
### CRÍTICO (Implementar 0-2 días)
|
|
|
|
1. **TOC Sticky con ScrollSpy**
|
|
- Afecta: Navegación del contenido
|
|
- Tiempo: 1 día
|
|
- Archivos: `toc.css`, `toc.js`
|
|
|
|
2. **Navbar Underline Hover Animado**
|
|
- Afecta: Identidad visual RDash
|
|
- Tiempo: 0.5 días
|
|
- Archivos: `header.css`, `header.js`
|
|
|
|
3. **Top Notification Bar Colores Exactos**
|
|
- Afecta: Identidad visual
|
|
- Tiempo: 0.25 días
|
|
- Archivos: `notification-bar.css`
|
|
|
|
### ALTO (Implementar 2-5 días)
|
|
|
|
4. **Botón "Let's Talk" Header**
|
|
- Afecta: Conversión
|
|
- Tiempo: 0.5 días
|
|
- Archivos: `header.php`, `header.css`
|
|
|
|
5. **Related Posts Cards Grises con Borde Lateral**
|
|
- Afecta: UX de navegación
|
|
- Tiempo: 0.5 días
|
|
- Archivos: `related-posts.css`
|
|
|
|
### MEDIO (Implementar 5-7 días)
|
|
|
|
6. **Paginación Profesional**
|
|
- Afecta: Apariencia
|
|
- Tiempo: 0.5 días
|
|
- Archivos: `style.css`
|
|
|
|
7. **Modal Contacto Refinamiento**
|
|
- Afecta: UX
|
|
- Tiempo: 0.25 días
|
|
- Archivos: `modal-contact.css`
|
|
|
|
### BAJO (Implementar 7+ días)
|
|
|
|
8. **Animación Pulse CTA Box**
|
|
- Afecta: Detalles UX
|
|
- Tiempo: 0.25 días
|
|
- Archivos: `cta-box-sidebar.css`
|
|
|
|
9. **Hero Section Padding**
|
|
- Afecta: Espaciado
|
|
- Tiempo: 0.1 días
|
|
- Archivos: `hero-section.css`
|
|
|
|
---
|
|
|
|
## 4. Plan de Implementación en Fases
|
|
|
|
### Fase 1: Componentes Críticos (Días 0-2)
|
|
|
|
**Objetivo:** Funcionalidad core y identidad visual
|
|
|
|
**Issue #41: TOC Sticky con ScrollSpy**
|
|
- Descripción: Convertir TOC actual en sticky con scrollspy activo
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/toc.css`
|
|
- `wp-content/themes/apus-theme/assets/js/toc.js`
|
|
- Cambios:
|
|
```css
|
|
.apus-toc {
|
|
position: sticky;
|
|
top: 5.5rem;
|
|
max-height: calc(100vh - 6rem);
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* Scrollbar personalizado */
|
|
.apus-toc::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.apus-toc::-webkit-scrollbar-thumb {
|
|
background: #cbd5e0;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.apus-toc-link.active {
|
|
color: #1a73e8;
|
|
font-weight: 700;
|
|
background: rgba(26, 115, 232, 0.1);
|
|
border-left: 3px solid #1a73e8;
|
|
}
|
|
```
|
|
|
|
```javascript
|
|
// IntersectionObserver para scrollspy
|
|
const observerOptions = {
|
|
rootMargin: '-20% 0px -35% 0px'
|
|
};
|
|
|
|
const observer = new IntersectionObserver((entries) => {
|
|
entries.forEach(entry => {
|
|
if (entry.isIntersecting) {
|
|
const id = entry.target.getAttribute('id');
|
|
document.querySelectorAll('.apus-toc-link').forEach(link => {
|
|
link.classList.remove('active');
|
|
});
|
|
document.querySelector(`.apus-toc-link[href="#${id}"]`)?.classList.add('active');
|
|
}
|
|
});
|
|
}, observerOptions);
|
|
```
|
|
|
|
**Issue #42: Navbar Underline Hover Animado RDash**
|
|
- Descripción: Agregar underline animado turquesa en nav links
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/header.css`
|
|
- Cambios:
|
|
```css
|
|
.navbar-nav .nav-link {
|
|
position: relative;
|
|
padding-bottom: 0.75rem;
|
|
}
|
|
|
|
.navbar-nav .nav-link::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 0;
|
|
height: 2px;
|
|
background-color: #61c7cd;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.navbar-nav .nav-link:hover::after,
|
|
.navbar-nav .nav-link.active::after {
|
|
width: 100%;
|
|
}
|
|
|
|
.navbar-nav .nav-link:hover {
|
|
color: #61c7cd;
|
|
background-color: rgba(97, 199, 205, 0.1);
|
|
}
|
|
```
|
|
|
|
**Issue #43: Verificar Colores Top Notification Bar**
|
|
- Descripción: Auditar y corregir colores exactos RDash
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/notification-bar.css`
|
|
- Verificar:
|
|
- Background: #4C5C6B ✓
|
|
- Link color: #61c7cd ✓
|
|
- Link hover: #4fb3b9 ✓
|
|
|
|
### Fase 2: Componentes Principales (Días 2-5)
|
|
|
|
**Issue #44: Botón "Let's Talk" en Header**
|
|
- Descripción: Agregar botón CTA con gradiente naranja en navbar
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/header.php`
|
|
- `wp-content/themes/apus-theme/assets/css/header.css`
|
|
- Posición: Extremo derecho del navbar (desktop)
|
|
- Código:
|
|
```php
|
|
<a href="<?php echo esc_url( get_permalink( get_page_by_path( 'contacto' ) ) ); ?>"
|
|
class="btn btn-lets-talk">
|
|
Let's Talk
|
|
</a>
|
|
```
|
|
|
|
```css
|
|
.btn-lets-talk {
|
|
background: linear-gradient(135deg, #FF6B35 0%, #FF8C42 100%);
|
|
color: #ffffff;
|
|
padding: 0.875rem 1.75rem;
|
|
border-radius: 8px;
|
|
font-weight: 600;
|
|
font-size: 1rem;
|
|
border: none;
|
|
box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
|
|
transition: all 0.3s ease;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.btn-lets-talk:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
|
|
background: linear-gradient(135deg, #FF5722 0%, #FF7043 100%);
|
|
color: #ffffff;
|
|
text-decoration: none;
|
|
}
|
|
```
|
|
|
|
**Issue #45: Related Posts Cards Grises con Borde Lateral**
|
|
- Descripción: Actualizar diseño de cards con fondo gris y borde animado
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/related-posts.css`
|
|
- Cambios:
|
|
```css
|
|
.related-post-card {
|
|
background: #f7fafc; /* Cambiar de #ffffff */
|
|
border: 1px solid #e2e8f0;
|
|
position: relative;
|
|
}
|
|
|
|
.related-post-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 4px;
|
|
height: 100%;
|
|
background: linear-gradient(180deg, #1e3a5f 0%, #1a73e8 100%);
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.related-post-card:hover {
|
|
background: #ffffff;
|
|
border-color: #1a73e8;
|
|
transform: translateY(-8px); /* Cambiar de -4px */
|
|
box-shadow: 0 12px 32px rgba(26, 115, 232, 0.15);
|
|
}
|
|
|
|
.related-post-card:hover::before {
|
|
opacity: 1;
|
|
}
|
|
```
|
|
|
|
### Fase 3: Refinamiento (Días 5-7)
|
|
|
|
**Issue #46: Paginación Profesional**
|
|
- Descripción: Mejorar estilos de paginación con gradientes y animaciones
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/style.css` (líneas 437-479)
|
|
- Cambios:
|
|
```css
|
|
.nav-links .page-numbers {
|
|
border: 2px solid #e2e8f0; /* Cambiar de 1px */
|
|
border-radius: 8px; /* Cambiar de 4px */
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.nav-links .page-numbers:hover {
|
|
background: #1a73e8;
|
|
border-color: #1a73e8;
|
|
color: #ffffff;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(26, 115, 232, 0.3);
|
|
}
|
|
|
|
.nav-links .page-numbers.current {
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
|
|
border-color: transparent;
|
|
color: #ffffff;
|
|
box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
|
|
}
|
|
```
|
|
|
|
**Issue #47: Modal Contacto Refinamiento**
|
|
- Descripción: Ajustar border-radius, sombras y botón close
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/modal-contact.css`
|
|
- Cambios:
|
|
```css
|
|
.contact-modal .modal-content {
|
|
border-radius: 16px; /* Cambiar de 8px */
|
|
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); /* Más profundo */
|
|
}
|
|
|
|
.contact-modal .modal-header {
|
|
border-radius: 16px 16px 0 0;
|
|
}
|
|
|
|
.contact-modal .btn-close {
|
|
filter: brightness(0) invert(1);
|
|
opacity: 1;
|
|
}
|
|
```
|
|
|
|
**Issue #48: Animación Pulse CTA Box (Opcional)**
|
|
- Descripción: Agregar animación pulse sutil al CTA box
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/cta-box-sidebar.css`
|
|
- Cambios:
|
|
```css
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
box-shadow: 0 4px 12px rgba(255, 134, 0, 0.3);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
box-shadow: 0 6px 20px rgba(255, 134, 0, 0.5);
|
|
transform: scale(1.02);
|
|
}
|
|
}
|
|
|
|
.cta-box-sidebar {
|
|
animation: pulse 3s ease-in-out infinite;
|
|
}
|
|
|
|
.cta-box-sidebar:hover {
|
|
animation: none;
|
|
}
|
|
```
|
|
|
|
**Issue #49: Hero Section Padding Adjustment**
|
|
- Descripción: Ajustar padding para match exacto
|
|
- Archivos:
|
|
- `wp-content/themes/apus-theme/assets/css/hero-section.css`
|
|
- Cambios:
|
|
```css
|
|
.hero-section {
|
|
padding: 3rem 1rem;
|
|
text-align: center;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Issues Específicos a Crear
|
|
|
|
### Críticos (Sprint 1)
|
|
|
|
**Issue #41: Implementar TOC Sticky con ScrollSpy**
|
|
- **Título:** TOC Sticky con ScrollSpy y Scrollbar Personalizado
|
|
- **Descripción:** Convertir el TOC actual en sticky y agregar scrollspy para highlighting automático de secciones activas. Incluir scrollbar personalizado estilo RDash.
|
|
- **Prioridad:** CRÍTICA
|
|
- **Estimación:** 1 día
|
|
- **Archivos:** `toc.css`, `toc.js`
|
|
- **Labels:** enhancement, ux, critical
|
|
|
|
**Issue #42: Navbar Underline Hover Animado RDash**
|
|
- **Título:** Agregar Underline Animado Turquesa en Navbar Links
|
|
- **Descripción:** Implementar ::after pseudo-elemento con animación de width para crear underline animado en hover. Color turquesa #61c7cd según diseño RDash.
|
|
- **Prioridad:** CRÍTICA
|
|
- **Estimación:** 0.5 días
|
|
- **Archivos:** `header.css`
|
|
- **Labels:** enhancement, design, critical
|
|
|
|
**Issue #43: Auditoría Colores Top Notification Bar**
|
|
- **Título:** Verificar y Corregir Colores Exactos Notification Bar
|
|
- **Descripción:** Auditar implementación actual de notification bar y verificar que use colores exactos: background #4C5C6B, links #61c7cd.
|
|
- **Prioridad:** CRÍTICA
|
|
- **Estimación:** 0.25 días
|
|
- **Archivos:** `notification-bar.css`
|
|
- **Labels:** audit, design, critical
|
|
|
|
### Altos (Sprint 2)
|
|
|
|
**Issue #44: Botón "Let's Talk" en Header**
|
|
- **Título:** Agregar Botón CTA "Let's Talk" con Gradiente Naranja
|
|
- **Descripción:** Implementar botón CTA en navbar con gradiente naranja (#FF6B35 → #FF8C42), efectos hover con transform y shadow según diseño RDash.
|
|
- **Prioridad:** ALTA
|
|
- **Estimación:** 0.5 días
|
|
- **Archivos:** `header.php`, `header.css`
|
|
- **Labels:** enhancement, conversion, high
|
|
|
|
**Issue #45: Related Posts Cards Grises con Borde Lateral**
|
|
- **Título:** Actualizar Diseño Related Posts con Background Gris
|
|
- **Descripción:** Cambiar background de cards a #f7fafc, agregar borde lateral izquierdo animado con gradiente azul, aumentar translateY en hover a -8px.
|
|
- **Prioridad:** ALTA
|
|
- **Estimación:** 0.5 días
|
|
- **Archivos:** `related-posts.css`
|
|
- **Labels:** enhancement, design, high
|
|
|
|
### Medios (Sprint 3)
|
|
|
|
**Issue #46: Paginación Profesional con Gradientes**
|
|
- **Título:** Mejorar Estilos de Paginación con Gradientes y Animaciones
|
|
- **Descripción:** Actualizar paginación con bordes 2px, border-radius 8px, gradiente en current, transform y shadow en hover.
|
|
- **Prioridad:** MEDIA
|
|
- **Estimación:** 0.5 días
|
|
- **Archivos:** `style.css`
|
|
- **Labels:** enhancement, design, medium
|
|
|
|
**Issue #47: Refinamiento Modal Contacto**
|
|
- **Título:** Refinar Modal de Contacto con Border-Radius y Sombras
|
|
- **Descripción:** Aumentar border-radius a 16px, sombra a 0 20px 60px, botón close en blanco (filter invert).
|
|
- **Prioridad:** MEDIA
|
|
- **Estimación:** 0.25 días
|
|
- **Archivos:** `modal-contact.css`
|
|
- **Labels:** enhancement, design, medium
|
|
|
|
### Bajos (Backlog)
|
|
|
|
**Issue #48: Animación Pulse CTA Box (Opcional)**
|
|
- **Título:** Agregar Animación Pulse Sutil al CTA Box Sidebar
|
|
- **Descripción:** Implementar keyframe animation pulse con 3s duration, detener en hover.
|
|
- **Prioridad:** BAJA
|
|
- **Estimación:** 0.25 días
|
|
- **Archivos:** `cta-box-sidebar.css`
|
|
- **Labels:** enhancement, polish, low
|
|
|
|
**Issue #49: Hero Section Padding Adjustment**
|
|
- **Título:** Ajustar Padding Hero Section para Match Exacto
|
|
- **Descripción:** Verificar y ajustar padding a 3rem 1rem, text-align center.
|
|
- **Prioridad:** BAJA
|
|
- **Estimación:** 0.1 días
|
|
- **Archivos:** `hero-section.css`
|
|
- **Labels:** enhancement, spacing, low
|
|
|
|
---
|
|
|
|
## 6. Métricas de Progreso
|
|
|
|
### Componentes Totales Identificados: 18
|
|
|
|
**Implementados Correctamente:** 9 (50%)
|
|
- Tablas APU ✅
|
|
- Social Share ✅
|
|
- Footer Contact Form ✅
|
|
- Bootstrap 5.3.8 ✅
|
|
- Hero Section (base) ✅
|
|
- CTA Box Sidebar (base) ✅
|
|
- Modal Contacto (base) ✅
|
|
- Notification Bar (base) ✅
|
|
- Related Posts (base) ✅
|
|
|
|
**Necesitan Ajustes:** 9 (50%)
|
|
- TOC → Sticky + ScrollSpy
|
|
- Navbar → Underline animado
|
|
- Notification Bar → Verificar colores
|
|
- Header → Botón "Let's Talk"
|
|
- Related Posts → Fondo gris + borde
|
|
- Paginación → Gradientes + animaciones
|
|
- Modal → Border-radius + sombras
|
|
- CTA Box → Animación pulse
|
|
- Hero → Padding
|
|
|
|
### Estimación Total de Trabajo
|
|
|
|
**Crítico:** 1.75 días
|
|
**Alto:** 1 día
|
|
**Medio:** 0.75 días
|
|
**Bajo:** 0.35 días
|
|
|
|
**TOTAL:** ~3.85 días de desarrollo
|
|
|
|
---
|
|
|
|
## 7. Recomendaciones Finales
|
|
|
|
### Orden de Implementación Sugerido
|
|
|
|
1. **Día 1 (AM):** Issue #41 - TOC Sticky con ScrollSpy
|
|
2. **Día 1 (PM):** Issue #42 - Navbar Underline + Issue #43 - Audit Notification Bar
|
|
3. **Día 2 (AM):** Issue #44 - Botón "Let's Talk"
|
|
4. **Día 2 (PM):** Issue #45 - Related Posts Grises
|
|
5. **Día 3 (AM):** Issue #46 - Paginación + Issue #47 - Modal
|
|
6. **Día 3 (PM):** Issue #48 - Pulse Animation + Issue #49 - Hero Padding
|
|
|
|
### Testing Checklist
|
|
|
|
Después de cada fase:
|
|
|
|
- [ ] Verificar en Chrome, Firefox, Safari, Edge
|
|
- [ ] Probar responsive en mobile, tablet, desktop
|
|
- [ ] Validar accesibilidad (keyboard navigation, screen readers)
|
|
- [ ] Comprobar performance (Lighthouse score)
|
|
- [ ] Revisar consistencia visual vs template RDash
|
|
- [ ] Validar funcionalidad en posts reales
|
|
- [ ] Cross-browser testing de animaciones
|
|
|
|
### Notas de Compatibilidad
|
|
|
|
- Bootstrap 5.3.8 es compatible con todos los estilos RDash
|
|
- Scrollspy requiere IntersectionObserver (IE11+ no soportado, OK para proyecto)
|
|
- Animaciones CSS respetan `prefers-reduced-motion`
|
|
- Todos los componentes son print-friendly
|
|
|
|
---
|
|
|
|
## 8. Conclusión
|
|
|
|
El tema actual tiene una **implementación sólida del 70%** de los componentes del template RDash. Los componentes faltantes son principalmente **refinamientos visuales y de UX** que elevarán la experiencia a nivel profesional.
|
|
|
|
**Puntos Fuertes del Tema Actual:**
|
|
- ✅ Tablas APU perfectamente implementadas
|
|
- ✅ Arquitectura modular y escalable
|
|
- ✅ Performance optimizado (sin jQuery)
|
|
- ✅ Accesibilidad bien implementada
|
|
- ✅ Responsive design completo
|
|
|
|
**Áreas de Mejora:**
|
|
- 🔧 Efectos hover y animaciones avanzadas
|
|
- 🔧 Componentes sticky con scroll tracking
|
|
- 🔧 Detalles visuales (gradientes, sombras, bordes)
|
|
- 🔧 Micro-interacciones (underlines, pulses, transforms)
|
|
|
|
**Impacto Estimado de Implementar GAP:**
|
|
- **UX Score:** +25%
|
|
- **Visual Consistency:** +30%
|
|
- **Engagement:** +15%
|
|
- **Professional Polish:** +40%
|
|
|
|
---
|
|
|
|
**Documento generado:** 2025-11-04
|
|
**Próximo paso:** Crear issues en GitHub según plan de fases
|
|
**Autor:** Claude Code Agent
|