Commit Graph

86 Commits

Author SHA1 Message Date
bea01d3e5d Agregar iconos locales de servicios y mejorar fallback de iconos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 58s
2025-10-17 05:46:30 -06:00
dc9d6ec959 Style: Agregar border-radius a los iconos de las aplicaciones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 59s
2025-10-17 05:41:55 -06:00
2219fa8950 Restaurar configuración original del manifest PWA
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m0s
- Restaurar capture_links: 'existing-client-navigate'
- Restaurar scope_extensions con subdominios de Nucleo V3
- Ahora usamos window.open() para bypassear estas configuraciones
- Configuración correcta del manifest mantenida
2025-10-17 05:26:08 -06:00
6c34c1ecce Fix: Forzar window.open() en desktop para bypassear capture_links
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m0s
- Agregar handler @click en app-items
- En desktop, prevenir default y usar window.open() directamente
- Esto bypasea completamente el sistema capture_links del manifest
- Mantener enlaces nativos como fallback para móvil
2025-10-17 05:19:41 -06:00
d9dc2c87aa Fix: Cambiar capture_links a 'none' para respetar target='_blank'
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 57s
- Cambiar capture_links de 'existing-client-navigate' a 'none'
- Remover scope_extensions que forzaban navegación en misma ventana
- Ahora el navegador respetará target='_blank' en desktop
- Los enlaces externos abrirán en nueva ventana/PWA
2025-10-17 05:16:33 -06:00
305143b433 Fix: Usar pointer device para detectar desktop en lugar de ancho
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Cambiar detección de desktop de min-width a (pointer: fine)
- Esto detecta si tiene mouse/trackpad (desktop) vs touch (móvil)
- Más confiable para PWAs que se abren con ancho fijo
- Mantener ancho como fallback para compatibilidad
2025-10-17 05:13:00 -06:00
d08bd81c73 Debug: Agregar logs para detectar problema con target='_blank'
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 58s
- Agregar logs en useDeviceType para ver detección de desktop
- Agregar logs en shouldOpenInNewTab para ver resultado
- Esto ayudará a diagnosticar por qué no se abren nuevas ventanas
2025-10-17 05:06:47 -06:00
b7d9e0f9cd Fix: Interceptor debe revisar target antes de parsear URL
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Mover verificaci\u00f3n de target='_blank' antes del parseo de URL
- Esto garantiza que links con target='_blank' nunca sean interceptados
- Permite que desktop abra PWAs en nuevas ventanas correctamente
2025-10-17 05:03:10 -06:00
99062559c4 Desktop: Abrir app-items en nueva ventana para lanzar PWAs
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 58s
- Crear composable useDeviceType para detectar desktop/móvil
- Modificar ApplicationsList para usar target='_blank' en desktop
- Ajustar pwa-link-handler para permitir nuevas ventanas en desktop
- En móvil mantener comportamiento original según openInNewTab
2025-10-17 04:57:51 -06:00
c88b58aee8 Agregar mejoras de PWA: id único, launch_handler
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m16s
- Agregar id único (/?app=inicio) para identificar PWA
- Implementar launch_handler con navigate-existing para mantener una sola ventana
- Mejoras basadas en especificaciones actualizadas de Chrome for Developers
2025-10-17 03:23:47 -06:00
147fa4df32 Implementar scope extensions y link handling para PWAs
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Agregar scope_extensions en manifest para capturar navegaciones a otros subdominios
- Configurar Traefik para servir archivos .well-known sin autenticación
- Documentar configuración completa del sistema
2025-10-17 02:14:02 -06:00
196108752a Formulario mejorado con iconos, headers y nuevos campos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Reorganizar formulario en 4 secciones con headers:
  * Información Básica (username, UID, nombre, email)
  * Conectividad (contraseña WiFi)
  * Información Personal (teléfono, cédula, fecha, avatar)
  * Seguridad y Acceso (NFC, PIN, código Nucleo)
- Agregar UID de Authentik (solo lectura)
- Agregar contraseña WiFi Nucleo (solo lectura)
- Iconos en todos los campos y secciones
- Labels personalizados con iconos heroicons
- Indicador de campos requeridos (*)
- Textos de ayuda mejorados
- Estilos glassmorphism para secciones
- Modo oscuro completo
- Responsive design mejorado
2025-10-17 00:19:22 -06:00
e535f8d937 Mejoras finales: filtro hardcoded, orientación y contador
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Filtrar app "perfil" de la lista (hardcoded por slug y nombre)
- Búsqueda en tiempo real con v-model (sin debounce)
- Orientación "any" para respetar dispositivo móvil
- Contador de apps con glassmorphism personalizado
- Estilos matching chips y badges de la app
- Soporte completo modo día/noche para contador
2025-10-16 23:56:48 -06:00
4c6cc7ec75 PWA: Interceptar enlaces para navegación en misma ventana
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Agregar capture_links al manifest para captura automática
- Configurar clientsClaim y skipWaiting en workbox
- Plugin de cliente para interceptar clics en enlaces
- Interceptar window.open() para enlaces internos
- Solo activo cuando la app corre como PWA instalada
- Usar router de Nuxt para navegación interna fluida
- Detectar display-mode standalone y window-controls-overlay
2025-10-16 23:44:11 -06:00
d2162507e5 Scrollbars personalizadas con color del cielo
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Track transparente con glassmorphism
- Thumb con gradiente de color del cielo
- Día: Celeste (#87CEEB) con brillo
- Noche: Azul oscuro con tinte morado
- Bordes y sombras para efecto de profundidad
- Hover con mayor intensidad de color
- Soporte completo para WebKit y Firefox
2025-10-16 23:39:06 -06:00
7c16cbf6c3 Agregar búsqueda de aplicaciones y fix línea blanca
- Campo de búsqueda con glassmorphism
- Filtrar por nombre, URL y descripción
- Icono de lupa y botón para limpiar búsqueda
- Persistencia en cookie (1 semana)
- Estilos completos para modo día y noche
- Eliminar border-bottom blanco de barra de título
- Agregar box-shadow: none a barra de título
2025-10-16 23:38:21 -06:00
31ef1f4198 Solución agresiva para eliminar gap en barra de título
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 57s
- Forzar margin y padding 0 en html y body
- Eliminar borders y outlines que puedan crear gap
- Aplicar reglas a contenedor raíz de Nuxt (#__nuxt)
- Forzar margin-top: 0 en la barra misma
- Agregar reglas para [data-v-app] de Nuxt UI
2025-10-16 23:34:59 -06:00
529d54b7e8 Aplicar estilo glassmorphism a chips de grupos del usuario
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 58s
- Reemplazar UBadge con spans personalizados
- Aplicar mismo estilo que filtros de grupos
- Badges primarios con color primary y glassmorphism
- Badge de conteo (+N) con estilo neutral
- Hover con efecto de elevación sutil
- Soporte completo para modo oscuro con brillo ajustado
2025-10-16 23:33:15 -06:00
05e5e9e7f8 Mejorar visibilidad de patrón y eliminar gap en barra de título
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 57s
- Aumentar opacidad del patrón en modo light (0.03 → 0.08)
- Agregar margin: 0 a la barra de título
- Forzar margin y padding: 0 en body y html
- Eliminar línea blanca entre body y barra de título
2025-10-16 23:31:03 -06:00
bb47b0e25b Mejorar estilo de filtros de grupos con glassmorphism
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 58s
- Reemplazar UButton por botones nativos con estilos personalizados
- Aplicar glassmorphism consistente con el resto de la app
- Estados normal y activo con efectos de sombra y color
- Hover con translateY para efecto de elevación
- Soporte completo para modo oscuro con opacidades ajustadas
- Botones activos con color primario y borde resaltado
2025-10-16 23:29:10 -06:00
c0a9ebe8d0 Mejorar diseño de barra de título PWA
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Barra completamente transparente con patrón sutil de cuadrícula
- Título en chip cuadrado con bordes mínimamente redondeados
- Glassmorphism en el chip para contraste y legibilidad
- Patrón discreto (3% opacidad día, 2% noche)
- Configurar pointer-events para bloquear interacción debajo
2025-10-16 23:26:51 -06:00
563e920dad Traducción completa al español y barra de título PWA
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m19s
- Traducir mensajes de API a español
- Configurar idioma español en HTML y manifest (lang="es")
- Actualizar nombres de app: "Perfil Nucleo"
- Crear WindowTitleBar para Window Controls Overlay
- Ajustar padding para acomodar barra de título
- Traducir campos restantes en componentes legacy
2025-10-16 23:20:06 -06:00
44c4727588 Feature: Formulario de edición en lugar de modal
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 57s
- Crear componente UserProfileForm con diseño glassmorphism
- Alternar entre lista de apps y formulario de edición
- Quitar modal de UserHeader, usar emit event
- Agregar nuevos campos deshabilitados:
  * Avatar URL
  * Teléfono
  * Cédula
  * Fecha de nacimiento
  * NFC vinculada
  * PIN numérico
  * Código Nucleo V2
- Sistema de eventos entre componentes
2025-10-16 23:12:46 -06:00
9a3dc1f0e6 Feature: Mejorar UX del tema y persistencia
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Mover botón editar al lado del nombre (siempre visible, sutil)
- Quitar efecto hover del header
- Detectar tema del sistema operativo automáticamente
- Actualizar theme-color dinámicamente (azul cielo día / oscuro noche)
- Usar cookies para persistir tema y filtros (1 año)
- Sincronizar filtros de apps con cookies
2025-10-16 23:03:43 -06:00
8b94e81dc8 Feature: Obtener iconos automáticamente de las aplicaciones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Intentar meta_icon de Authentik primero
- Buscar apple-touch-icon.png del dominio (PWA)
- Intentar favicon.ico como fallback
- Mostrar icono por defecto si todo falla
- Sistema de retry inteligente para evitar requests duplicados
2025-10-16 22:56:15 -06:00
bc19956e10 Style: Cambiar color de email a gris claro en modo oscuro
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
2025-10-16 22:53:48 -06:00
f090570af0 Style: Hacer cards de apps más transparentes en modo oscuro
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Cambiar opacidad de 0.85 a 0.65
- Permite ver mejor el fondo nocturno
2025-10-16 22:52:19 -06:00
16f74829a6 Fix: Sincronizar tema con clase dark de Nuxt UI y arreglar selectores CSS
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Agregar función applyThemeClass para sincronizar con HTML
- Aplicar clase dark/light al elemento HTML
- Agregar watcher para actualizar clase en cambios de tema
- Inicializar clase correcta en onMounted
- Separar estilos dark mode en bloque sin scoped
- Usar selectores .dark directos en lugar de :global(.dark)
- Agregar !important para superar especificidad de scoped
2025-10-16 22:49:54 -06:00
00c9d9578a Fix: Sincronizar tema con clase dark de Nuxt UI
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 53s
- Agregar función applyThemeClass para sincronizar con HTML
- Aplicar clase dark/light al elemento HTML
- Agregar watcher para actualizar clase en cambios de tema
- Inicializar clase correcta en onMounted
2025-10-16 22:22:51 -06:00
32c9006ca0 Style: Mejorar contraste en modo oscuro
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Contenedores principales mucho más transparentes (0.15)
- Cards de aplicaciones negras sólidas (0.85)
- Mantener efectos 3D en todas las cards
2025-10-16 22:12:58 -06:00
75069a7633 Feature: Scrollbar personalizada, arreglos SVG y mejoras de transparencia
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 56s
- Agregar scrollbar personalizada compacta (8px) adaptable al tema
- Estilo de scrollbar verde (#00DC82) con opacidad diferente para día/noche
- Soporte para WebKit (Chrome/Safari) y Firefox
- Arreglar SVG de colinas para usar 100% del ancho horizontal (preserveAspectRatio=none)
- Revertir modal a estructura funcional (v-model:open, title prop, #content slot)
- Igualar transparencia en modo oscuro usando rgba(0,0,0,0.3-0.4) en lugar de rgba(15,15,25)
- Aplicar tintado negro puro para reducir brillo en modo oscuro manteniendo misma transparencia
2025-10-16 22:02:45 -06:00
639a4c44c4 Mejorar botones y badges con estilos sólidos y efectos 3D
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Cambiar botones de quick-actions a variant solid con efectos 3D
- Agregar box-shadow multicapa con inset shadows a botones
- Implementar efectos hover y active en botones de sesión
- Cambiar badges de grupos a variant solid
- Agregar efectos 3D a badges con sombras y hover
- Mejorar color del email en modo oscuro (negro en lugar de gris)
- Aumentar peso de fuente del email en modo oscuro para mejor legibilidad
2025-10-16 21:58:02 -06:00
e06f0c746a Mejoras en glassmorphism y soporte de modo oscuro
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Aumentar transparencia en todos los contenedores (0.3-0.4 alpha)
- Mejorar backdrop-filter con blur(20px) y saturate(180%)
- Agregar efectos 3D pronunciados con box-shadow multicapa
- Implementar inset shadows para efecto de profundidad
- Ajustar colores en modo oscuro (rgba(15, 15, 25) en lugar de rgba(30, 30, 40))
- Mejorar bordes con rgba blanco semi-transparente
- Agregar transiciones suaves con cubic-bezier
- Efectos hover mejorados con scale y translateY
- Aplicar cambios en UserHeader, ApplicationsList y quick-actions
- Mejor contraste y legibilidad en modo oscuro
2025-10-16 21:51:26 -06:00
01139f4415 Feature: Rediseño completo con tema día/noche y fondos animados
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Implementar sistema de tema día/noche con persistencia en localStorage
- Crear componente AnimatedBackground con paisajes SVG animados
- Generar todos los assets SVG desde cero (sol, luna, estrellas, nubes, montañas)
- Añadir animaciones suaves para nubes, estrellas y elementos del paisaje
- Rediseñar UserHeader como componente principal clickeable
- Integrar modal de edición de perfil en el header
- Reorganizar layout principal mostrando solo aplicaciones
- Mejorar diseño de ApplicationsList con glassmorphism
- Implementar efectos hover y transiciones elegantes
- Diseño responsive mobile-first
- Diferencias visuales notorias entre modo día y noche
2025-10-16 21:46:22 -06:00
9ebc97c784 Feature: Agregar filtros por grupos en lista de aplicaciones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
- Toggle buttons en header para filtrar por grupos
- Si no hay grupos seleccionados, se muestran todas las apps
- Grupos de apps ahora aparecen como subtítulo con chips compactos
- UI mejorada con estado activo en botones de filtro
- Mensaje cuando no hay apps en grupos seleccionados
2025-10-16 21:12:43 -06:00
fd86acbbfa Feature: Agregar lista de aplicaciones disponibles para el usuario
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Nuevo endpoint /api/authentik/applications para obtener apps del usuario
- Componente ApplicationsList que muestra apps en grid responsivo
- Filtrado por grupos del usuario (basado en headers de Authentik)
- UI con iconos, badges de grupos y redirección a cada app
- Refresh automático cada 5 minutos
2025-10-16 21:01:53 -06:00
a5d0f1b286 Fix: Corregir estructura del modal de edición de perfil
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 53s
- Mover el botón fuera del componente UModal para que funcione correctamente
- Actualizado token de API de Authentik en secrets para habilitar edición
2025-10-16 20:57:20 -06:00
fd495b05c7 Debug: Agregar logs para investigar usuario no encontrado
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
2025-10-16 20:38:38 -06:00
56fc0cdd78 Fix: Corregir implementación del modal según documentación de Nuxt UI
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 57s
- Usar v-model:open en lugar de v-model
- Mover botón dentro del UModal como trigger (slot por defecto)
- Contenido en slot #content según documentación
- Agregar title como prop del UModal
- Eliminar UCard innecesario
2025-10-16 20:29:12 -06:00
13fcb312d1 fix de directorio
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
2025-10-16 20:28:20 -06:00
7ab5027551 Fix: Arreglar modal en blanco y clicks dentro del formulario
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 53s
- Eliminado v-if del modal para evitar problemas de renderizado
- Agregado @click.stop al UCard para prevenir propagación de eventos
- Agregado prevent-close mientras se actualiza
2025-10-16 20:25:04 -06:00
ca3b23c1d3 Fix: Agregar v-if al modal de editar perfil para evitar clicks inesperados
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 52s
Se agregó v-if="isOpen" al UModal para que solo se renderice en el DOM cuando
esté abierto. Esto soluciona el problema de que el modal se activaba al hacer
clic en áreas vacías del componente.
2025-10-16 20:21:53 -06:00
c05da4c797 test
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 53s
2025-10-16 20:09:20 -06:00
67261cd1fc Fix: Corregir errores de TypeScript en componentes
- Instalar @types/node para resolver referencias a process
- Corregir colores inválidos en componentes (orange→warning, purple→secondary, gray→neutral, etc.)
- Agregar tipos explícitos en GroupCheckButton y EditProfileButton
- Eliminar propiedad timeout inválida en toasts
2025-10-16 19:42:00 -06:00
fa0475efbf fix 2025-10-16 19:32:37 -06:00
bcf9efa89d fix 2025-10-16 19:24:43 -06:00
72712840b0 Test: Separar comandos git para hook correcto
Este commit demuestra la ejecución separada de comandos git:
- git add -A (paso 1)
- git commit (paso 2)
- git push (paso 3 - ejecutará el hook una sola vez)
2025-10-16 19:11:02 -06:00
b1caa15089 Trigger: Reintentar build del fix user.ts
El build anterior del commit b6a58e8 no completó el push de las
imágenes Docker al registro. Este commit trivial triggerea el
workflow de nuevo para que se complete correctamente el build
y deploy del fix que unifica user.ts (GET y PATCH en un solo archivo).
2025-10-16 19:02:00 -06:00
b6a58e8df7 Fix: Combinar endpoints API en un solo archivo user.ts
PROBLEMA IDENTIFICADO:
Nuxt 4 no reconoce archivos con extensiones como .get.ts y .patch.ts
en el directorio server/api/. Esto causaba que los endpoints no se
compilaran en el build final.

SOLUCIÓN:
- Eliminados: user.get.ts y user.patch.ts
- Creado: user.ts que maneja ambos métodos HTTP (GET y PATCH)
- Usa event.method para distinguir entre GET y PATCH
- Devuelve 405 para métodos no permitidos

Este cambio debería permitir que Nuxt compile correctamente los
endpoints de la API de Authentik para edición de perfil.
2025-10-16 18:41:41 -06:00
9140a52160 Force Docker rebuild to include API endpoints
All checks were successful
build-and-deploy / build (push) Successful in 56s
build-and-deploy / deploy (push) Successful in 4s
Se agregó un comentario al código para forzar que Docker
reconstruya la imagen y así incluya los endpoints de la API
de Authentik que faltaban en el build anterior.

Los endpoints /api/authentik/user (GET y PATCH) existen en
el código fuente pero no fueron incluidos en la imagen Docker
debido a cache.
2025-10-16 18:00:42 -06:00