@extends('template.principal') @section('titulo', 'Inicio') @section('subtitulo', 'Dashboard') @section('contenido') @php // Membresía destinataria de las pruebas. El usuario del panel (guard `fsg`) NO es socio: // solo abre la pantalla; las notificaciones siguen yendo a una membresía. $membresiaPrueba = \App\Models\Modulos\Socios\Membresia::query()->orderBy('idMembresia')->first(); $usuarioPanel = auth('fsg')->user(); @endphp
{{-- Sesión del panel: usuario, acceso a Horizon (solo si está instalado) y cierre de sesión --}}
Sesión: {{ $usuarioPanel?->usuarioNombre ?: $usuarioPanel?->usuarioAlias }}
@if (\Illuminate\Support\Facades\Route::has('horizon.index')) Horizon @endif
@csrf

Prueba de Notificaciones

Vista local para probar el módulo + librería de notificaciones (Web/Reverb, Email y WhatsApp). Sin login: el destinatario es una membresía.

@if ($membresiaPrueba)
Membresía de prueba: {{ $membresiaPrueba->membresiaTitular ?? $membresiaPrueba->idMembresia }}
idMembresia: {{ $membresiaPrueba->idMembresia }}  ·  idIdentificador: {{ $membresiaPrueba->idIdentificador ?? '—' }}
@else
No hay ninguna membresía en wd_membresia. Agrega una para poder probar.
@endif
{{-- ================================================================== Pruebas de Reverb / Notificaciones ================================================================== Sección añadida — NO interfiere con el flujo /me. Permite disparar ejemplos de los 3 canales (Web, Email, WhatsApp) integrados con la librería App\Library\Notificaciones para validar configuración. --}}
Pruebas de Reverb / Notificaciones Canal: notifications.membresia.{{ session('idMembresia') ?? optional(\App\Models\Modulos\Socios\Membresia::query()->orderBy('idMembresia')->first())->idMembresia ?? '?' }}

Dispara un ejemplo en cada canal para verificar la configuración. La notificación Web debe aparecer como toast en la esquina superior derecha y reflejarse en la campana del navbar.

Requisitos previos: Para que las notificaciones funcionen correctamente, asegúrate de tener corriendo los siguientes servicios en terminales separadas:
# Procesador de colas
php artisan queue:work database --queue=notifications-high,notifications,notifications-low
# Servidor Reverb (WebSockets) — por defecto puerto 6003, personalizable con --port
php artisan reverb:start --host=0.0.0.0 --port=6003

Log de pruebas
— Sin actividad —
{{-- Modal: Email --}} {{-- Modal: WhatsApp --}}
@endsection @push('javascript') @include('modulos.default.inicio._endpoints') @include('modulos.default.inicio._endpoints-broadcast-test') @endpush