CreaRack Pro - Sistema de Diseno
CreaRack Pro - Sistema de Diseno
Version: 1.1
Fecha: 27-01-2026
Estado: Implementado (Fase 1 completada)
1. Filosofia de Diseno
Principios Fundamentales
- Centralizacion: Una sola definicion, multiples usos
- Semantica: El desarrollador indica la intencion, no el color
- Dark Mode First: Optimizado para tema oscuro
- Consistencia: Mismos componentes en todas las paginas
- Minimalismo: Sin iconos en botones, solo texto
- No romper: Los cambios deben ser alias, no modificaciones
Reglas Globales de Botones
- Fondo semi-transparente (10% del color base)
- Solo texto, NUNCA iconos
- Borde del color definido
- Hover: fondo 20% + box-shadow sutil
2. Colores Base (NO MODIFICAR)
Variables en variables.css
:root {
/* Fondos */
--bg-color: #000000; /* Fondo principal - Negro puro */
--card-bg: #111111; /* Fondo tarjetas - Gris muy oscuro */
--panel-bg: #111111; /* Fondo paneles */
--border-color: #333333; /* Bordes */
/* Textos */
--text-primary: #ffffff; /* Blanco */
--text-secondary: #B0B0B0; /* Gris claro */
--text-muted: #666666; /* Gris oscuro */
/* Colores corporativos (LOGOS, NO BOTONES) */
--accent: #2962ff; /* Azul corporativo - Solo para logos */
--danger: #ef5350; /* Rojo */
--success: #66bb6a; /* Verde */
--warning: #ff9800; /* Naranja */
}
3. Sistema de Botones
3.1 Clases Legacy (mantener para compatibilidad)
| Clase | Background | Border | Text |
|---|
btn-outline-blue | rgba(59,130,246,0.1) | #2962ff | #82B1FF |
btn-outline-red | rgba(239,68,68,0.1) | #ef5350 | #ef5350 |
btn-outline-green | rgba(16,185,129,0.1) | #66bb6a | #66bb6a |
btn-outline-orange | rgba(255,152,0,0.1) | #ff9800 | #ff9800 |
btn-outline-yellow | rgba(227,179,65,0.1) | #e3b341 | #e3b341 |
btn-outline | transparent | rgba(255,255,255,0.5) | #ffffff |
3.2 Clases Semanticas (USAR EN CODIGO NUEVO)
Son alias exactos de las clases legacy, pero con nombres basados en intencion:
| Clase Semantica | Alias de | Uso |
|---|
btn-action | btn-outline-blue | Guardar, Crear, Confirmar, Enviar |
btn-danger | btn-outline-red | Eliminar, Cancelar destructivo |
btn-success | btn-outline-green | Login, Conectar, Aceptar |
btn-warning | btn-outline-orange | Editar, Modificar, Advertencia |
btn-export | btn-outline-yellow | Exportar, Imprimir, Descargar |
btn-neutral | btn-outline | Navegar, Ver, Cerrar |
3.3 CSS Exacto de Botones Semanticos
/* btn-action: Azul - Guardar, Crear, Confirmar */
.btn-action {
background: rgba(59, 130, 246, 0.1);
border: 1px solid var(--accent); /* #2962ff */
color: #82B1FF;
}
.btn-action:hover {
background: rgba(59, 130, 246, 0.2);
box-shadow: 0 0 8px rgba(59, 130, 246, 0.2);
}
/* btn-danger: Rojo - Eliminar, Cancelar */
.btn-danger {
background: rgba(239, 68, 68, 0.1);
border: 1px solid var(--danger); /* #ef5350 */
color: var(--danger);
}
.btn-danger:hover {
background: rgba(239, 68, 68, 0.2);
box-shadow: 0 0 8px rgba(239, 68, 68, 0.2);
}
/* btn-success: Verde - Login, Conectar */
.btn-success {
background: rgba(16, 185, 129, 0.1);
border: 1px solid var(--success); /* #66bb6a */
color: var(--success);
}
.btn-success:hover {
background: rgba(16, 185, 129, 0.2);
box-shadow: 0 0 8px rgba(16, 185, 129, 0.2);
}
/* btn-warning: Naranja - Editar, Modificar */
.btn-warning {
background: rgba(255, 152, 0, 0.1);
border: 1px solid var(--warning); /* #ff9800 */
color: var(--warning);
}
.btn-warning:hover {
background: rgba(255, 152, 0, 0.2);
box-shadow: 0 0 8px rgba(255, 152, 0, 0.2);
}
/* btn-export: Amarillo - Exportar, Imprimir */
.btn-export {
background: rgba(227, 179, 65, 0.1);
border: 1px solid #e3b341;
color: #e3b341;
}
.btn-export:hover {
background: rgba(227, 179, 65, 0.2);
box-shadow: 0 0 8px rgba(227, 179, 65, 0.2);
color: #f2cc60;
}
/* btn-neutral: Blanco - Navegar, Ver */
.btn-neutral {
background-color: transparent;
border: 1px solid rgba(255, 255, 255, 0.5);
color: var(--text-primary); /* #ffffff */
}
.btn-neutral:hover {
background-color: rgba(255, 255, 255, 0.1);
border-color: #ffffff;
color: #ffffff;
}
4. Mapeo de Botones por Pagina
Dashboard (index.html)
| Boton | Clase |
|---|
| Alert | btn-outline-red / btn-danger |
| Network Maps | btn-outline-blue / btn-action |
| Network Mgnt | btn-outline-blue / btn-action |
| Gen QR | btn-outline-yellow / btn-export |
| Wide View | btn-outline / btn-neutral |
| Config | btn-outline / btn-neutral |
| Logout | btn-outline-green / btn-success |
| Install App | btn-outline-blue / btn-action |
| Groups | btn-outline-blue / btn-action |
| Trash | btn-outline-orange / btn-warning |
| Create | btn-outline-blue / btn-action |
| Create Master | btn-outline-blue / btn-action |
Maps (blueprint_editor.html)
| Boton | Clase |
|---|
| New | btn-outline-green / btn-success |
| Delete Map | btn-outline-red / btn-danger |
| Save | btn-outline-blue / btn-action |
| Clone Map | btn-outline / btn-neutral |
| Config AI | btn-outline / btn-neutral |
| Print Map | btn-outline-yellow / btn-export |
| Auto-Plan | btn-outline / btn-neutral |
| Import | btn-outline / btn-neutral |
| Delete (background) | btn-outline-red / btn-danger |
| Refresh Routes | btn-outline / btn-neutral |
5. Sistema de Modales
5.1 Clases de Estructura
| Clase | Descripcion | Uso |
|---|
modal-header | Header con borde inferior | Modales formales con titulo destacado |
modal-header-simple | Header sin borde | Modales simples y dialogs |
modal-body | Contenido principal | Espacio con margin inferior |
modal-body-scroll | Contenido con scroll | Listas largas (max-height: 400px) |
modal-footer | Footer con borde superior | Botones de accion formales |
modal-footer-simple | Footer sin borde | Dialogs simples |
modal-footer-spread | Footer con space-between | Boton izq (danger) + derecha (action) |
modal-close-btn | Boton cerrar inline | Reemplaza modal-close absoluto |
5.2 Ejemplo de Uso
<div class="modal-content">
<div class="modal-header-simple">
<h3>Titulo del Modal</h3>
<button class="modal-close-btn">×</button>
</div>
<div class="modal-body">
<!-- Contenido -->
</div>
<div class="modal-footer-simple">
<button class="btn btn-neutral">Cancel</button>
<button class="btn btn-action">Save</button>
</div>
</div>
6. Fases de Implementacion
Fase 1: Clases Semanticas ✅ COMPLETADA
Fase 2: Migracion Gradual ✅ COMPLETADA
Fase 3: Estandarizacion de Modales ✅ COMPLETADA
- Crear clases
modal-header, modal-body, modal-footer en components.css
- Crear variantes:
modal-header-simple, modal-footer-simple, modal-footer-spread
- Crear clase
modal-close-btn para botones de cerrar inline
- Migrar modales de
base.html (QR, Report, Scripts)
- Migrar modales de
index.html (Groups, Trash)
- Migrar modales de
editor.html (Import, QR, Apply Master, SSH)
7. Reglas de Oro
- NUNCA modificar variables base (
--accent, --danger, etc.)
- NUNCA poner iconos en botones
- Las clases semanticas son ALIAS, no reemplazos
- Verificar visualmente despues de cada cambio
- Un template a la vez
Ultima actualizacion: 27-01-2026
Migracion completada: Fase 1 + Fase 2 + Fase 3 (Design System 100% implementado)
Véase también
- [[crearack-tech—frontend—design-guidelines]] — guidelines de diseño UI
- [[crearack-tech—frontend—centralized-services]] — servicios JS centralizados
- [[crearack-tech—frontend—performance-guidelines]] — guidelines de performance frontend
- [[crearack-tech—frontend—asteroids-effect]] — efecto Asteroids easter-egg
- [[feature—workspace—refresh-ui-2026]] — refresh UI 2026 del workspace
- [[crearack-tech—backend—refactoring-guide]] — guía de refactorización frontend (deuda técnica acumulada)