diff --git a/app/Http/Livewire/Chat/PublicChat.php b/app/Http/Livewire/Chat/PublicChat.php index 297b0f4..bf98768 100644 --- a/app/Http/Livewire/Chat/PublicChat.php +++ b/app/Http/Livewire/Chat/PublicChat.php @@ -54,6 +54,32 @@ class PublicChat extends Component public $fotoComprobante = null; public bool $procesandoImagen = false; + public function mount(): void + { + $userId = session('chat_user_id'); + $convId = session('chat_conv_id'); + + if (! $userId || ! $convId) { + return; + } + + $user = User::with('saldo')->find($userId); + $conv = ChatConversation::find($convId); + + if (! $user || ! $conv) { + session()->forget(['chat_user_id', 'chat_conv_id']); + return; + } + + $this->userId = $user->id; + $this->nombreUsuario = $user->name; + $this->saldoUsuario = $user->saldo?->valor ?? 0; + $this->convId = $conv->id; + $this->estadoConv = $conv->estado; + $this->paso = 'chat'; + $this->cargarMensajes(); + } + protected $rules = [ 'email' => 'required|email|max:100', 'nombreRegistro' => 'required|max:80', @@ -139,6 +165,8 @@ class PublicChat extends Component public function cerrarSesion(): void { + session()->forget(['chat_user_id', 'chat_conv_id']); + $this->email = ''; $this->nombreRegistro = ''; $this->cedulaRegistro = ''; @@ -257,6 +285,10 @@ class PublicChat extends Component $this->convId = $conv->id; $this->estadoConv = $conv->estado; $this->paso = 'chat'; + + session()->put('chat_user_id', $this->userId); + session()->put('chat_conv_id', $conv->id); + $this->cargarMensajes(); $this->mostrarMenuPrincipal($conv->id); } diff --git a/resources/views/chat-publico.blade.php b/resources/views/chat-publico.blade.php index 6c224d5..542554b 100644 --- a/resources/views/chat-publico.blade.php +++ b/resources/views/chat-publico.blade.php @@ -2,11 +2,9 @@
- {{-- viewport-fit=cover expone las safe areas del notch/Dynamic Island --}} - {{-- Apple PWA / standalone --}} @@ -14,43 +12,71 @@