Files
AnchorOS/app/booking/layout.tsx
Marco Gallegos 0016bfb1e5 feat: Completar implementación de The Boutique
**The Boutique - Frontend completo para clientes:**
- Página de login/signup (/booking/login)
  - Autenticación con email/password
  - Registro de nuevos clientes
  - Validación de formularios
  - Diseño responsive y accesible

- Página de perfil (/booking/perfil)
  - Información personal del cliente
  - Edición de datos (modal)
  - Estadísticas de actividad
  - Historial de citas recientes
  - Información de membresía (tier)

- Página Mis Citas (/booking/mis-citas)
  - Lista completa de citas
  - Filtros: todas, próximas, pasadas
  - Detalles completos de cada cita
  - Opción de cancelar citas pendientes
  - Estados visuales por estatus
  - Información de códigos de reserva

- Layout mejorado (/booking/layout)
  - Navbar completo con todas las opciones
  - Navegación entre secciones
  - Estilos consistentes con anchor23.mx

**Funcionalidades implementadas:**
- Gestión completa del perfil de cliente
- Historial y gestión de citas
- Sistema de autenticación básico
- Navegación fluida entre secciones
- Estados de carga y manejo de errores
- Diseño responsive para móviles

**Datos mock/simulados:**
- Perfiles de cliente con tiers
- Historial de citas con diferentes estados
- Información de staff y servicios
- Validación de formularios

**Próximos pasos:**
- Integración con APIs reales de autenticación
- Conexión con Stripe para pagos
- Sincronización con base de datos real
- Notificaciones por email/WhatsApp
2026-01-16 16:36:54 -06:00

56 lines
1.5 KiB
TypeScript

import { ReactNode } from 'react'
import { Button } from '@/components/ui/button'
import Link from 'next/link'
import { Calendar, User } from 'lucide-react'
export default function BookingLayout({
children,
}: {
children: ReactNode
}) {
return (
<>
<header className="site-header booking-header">
<nav className="nav-primary">
<div className="logo">
<Link href="/">
<span className="text-xl font-semibold" style={{ color: 'var(--charcoal-brown)' }}>
ANCHOR:23
</span>
</Link>
</div>
<div className="nav-actions flex items-center gap-4">
<Link href="/booking/servicios">
<Button variant="ghost" size="sm">
Reservar
</Button>
</Link>
<Link href="/booking/mis-citas">
<Button variant="ghost" size="sm">
<Calendar className="w-4 h-4 mr-2" />
Mis Citas
</Button>
</Link>
<Link href="/booking/perfil">
<Button variant="ghost" size="sm">
<User className="w-4 h-4 mr-2" />
Perfil
</Button>
</Link>
<Link href="/booking/login">
<Button variant="outline" size="sm">
Iniciar Sesión
</Button>
</Link>
</div>
</nav>
</header>
<main className="pt-24">
{children}
</main>
</>
)
}