# Adaptación del Módulo Menu para Múltiples Demos

> **Archivado en _legacy.** Ver [demos/demo-restaurant/03-modulos-integrados.md](../demos/demo-restaurant/03-modulos-integrados.md) y [core/05-modulos-y-ensamblaje.md](../core/05-modulos-y-ensamblaje.md).

## ✅ Cambios Realizados

### 1. **Sistema de Page Headers Dinámico**
- ✅ Creado `partials/dynamic-header.blade.php` que adapta el header según el demo activo
- ✅ Soporta múltiples estilos: restaurant, law-firm-2, digital-agency-2, transportation-logistic, architecture-2, construction-2, insurance, y default/modern
- ✅ Usa configuración desde `config/page-headers.php` para determinar qué tipo de header usar

### 2. **Vista Principal Adaptada**
- ✅ Modificado `index.blade.php` para usar el sistema dinámico
- ✅ Removido header hardcodeado específico de demo-restaurant
- ✅ Removido footer hardcodeado (ahora usa el footer del layout master)
- ✅ Mantenido solo el **body del contenido** igual al de demo-restaurant
- ✅ Imágenes configurables desde `config('site.modules.menu.images')`

### 3. **Configuración en page-headers.php**
- ✅ Agregado módulo `menu` en `module_config` con título, subtítulo, icono y ruta
- ✅ Configurado para usar headers clásicos en demos específicos:
  - `demo-restaurant`: classic
  - `demo-construction-2`: classic
  - `demo-law-firm-2`: classic
  - Otros demos: modern (por defecto)

## 📋 Estructura de Archivos

```
resources/views/modules/menu/frontend/
├── index.blade.php                    # Vista principal (usa dynamic-header)
└── partials/
    └── dynamic-header.blade.php       # Header dinámico multi-demo
```

## 🎨 Cómo Funciona

### 1. **Layout Master**
- El módulo extiende `layout.front.master` que carga dinámicamente:
  - Header según el demo activo (`get_demo_layout('header')`)
  - Footer según el demo activo (`get_demo_layout('footer')`)

### 2. **Page Header Dinámico**
- El partial `dynamic-header.blade.php` detecta el demo activo
- Renderiza el estilo de header apropiado según el demo
- Usa breadcrumbs dinámicos y títulos configurables

### 3. **Body del Contenido**
- El body mantiene el mismo diseño que demo-restaurant
- Las imágenes son configurables desde `config('site.modules.menu.images')`
- El contenido (categorías, menús, productos) se mantiene igual

## ⚙️ Configuración

### Imágenes del Menú
Puedes configurar las imágenes del menú en `config/site.php` o desde la base de datos:

```php
'modules' => [
    'menu' => [
        'images' => [
            'cd-project/img/demos/restaurant/menu/menu-1.jpg',
            'cd-project/img/demos/restaurant/menu/menu-2.jpg',
            'cd-project/img/demos/restaurant/menu/menu-3.jpg',
        ],
        'page_header' => [
            'title' => 'Menú',
            'subtitle' => 'Nuestro menú completo con todas nuestras especialidades',
        ],
    ],
],
```

### Background del Header
Configura la imagen de fondo del header en `config/site.php`:

```php
'assets' => [
    'menu_header_background' => 'cd-project/img/demos/restaurant/backgrounds/background-menu.jpg',
],
```

## 🔄 Compatibilidad con Demos

El módulo menu ahora funciona correctamente con:

- ✅ **demo-restaurant**: Header con parallax y shape divider (estilo original)
- ✅ **demo-law-firm-2**: Header con overlay y breadcrumbs centrados
- ✅ **demo-digital-agency-2**: Header con círculos animados y fondo oscuro
- ✅ **demo-transportation-logistic**: Header con overlay claro
- ✅ **demo-architecture-2**: Header con fondo primario y animaciones
- ✅ **demo-construction-2**: Header con parallax y breadcrumbs personalizados
- ✅ **demo-insurance**: Header con SVG animado
- ✅ **Otros demos**: Header moderno genérico (`<x-page-header>`)

## 📝 Notas Importantes

1. **Body del Contenido**: El diseño del body (tarjetas de menú, productos, etc.) se mantiene igual en todos los demos. Solo cambian el header y footer según el demo activo.

2. **Imágenes**: Las imágenes del menú son configurables. Si no se configuran, usa las imágenes por defecto de demo-restaurant.

3. **Background del Header**: La imagen de fondo del header se puede configurar por proyecto. Si no se configura, usa la imagen por defecto de demo-restaurant.

4. **Footer**: El footer ahora viene del layout master, no está hardcodeado en la vista del módulo.

## 🚀 Próximos Pasos (Opcional)

1. **Crear vistas adicionales**: Si necesitas vistas específicas para `category.blade.php` o `show.blade.php`, seguir el mismo patrón.

2. **Personalizar estilos por demo**: Si algún demo necesita estilos específicos en el body, puedes agregar clases CSS condicionales basadas en `get_active_demo()`.

3. **Agregar más demos**: Si necesitas soporte para más demos, simplemente agrega el caso en `dynamic-header.blade.php`.
