ip_address = $data['ip'] ?? null; $this->device_fingerprint = $data['fingerprint'] ?? null; $user = Auth::user(); if (!$user) return; // Guardar IP pública temporal (12h) if ($this->ip_address) { UserIp::updateOrCreate( [ 'user_id' => $user->id, 'ip_address' => $this->ip_address, ], [ 'expires_at' => Carbon::now()->addHours(12), ] ); } // Guardar fingerprint permanente del dispositivo if ($this->device_fingerprint) { Device::updateOrCreate( [ 'fingerprint' => $this->device_fingerprint, ], [ 'user_id' => $user->id, 'last_seen_at' => now(), ] ); } } public function render() { return view('livewire.show-saving-ip'); } }