Fix active status not showing immediatly (livewire)
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Enums\UserRole;
|
||||
use App\Models\User;
|
||||
use App\Services\SubscriptionService;
|
||||
use Livewire\Component;
|
||||
@@ -14,6 +15,8 @@ class UserSubscription extends Component
|
||||
|
||||
public $subscriptionKey = '';
|
||||
|
||||
public $isActive = false;
|
||||
|
||||
protected $rules = [
|
||||
'subscriptionKey' => 'required|string|size:48',
|
||||
];
|
||||
@@ -22,6 +25,7 @@ class UserSubscription extends Component
|
||||
{
|
||||
$this->userId = $user ? $user->id : auth()->user()->id;
|
||||
$this->subscriptionKey = $user->subscription_key ?? '';
|
||||
$this->isActive = $user->hasRole(UserRole::SUPPORTER) ?? false;
|
||||
}
|
||||
|
||||
public function applyKey(SubscriptionService $subscriptionService)
|
||||
@@ -61,6 +65,7 @@ class UserSubscription extends Component
|
||||
|
||||
$user->subscription_key = $this->subscriptionKey;
|
||||
$user->save();
|
||||
$this->isActive = true;
|
||||
}
|
||||
|
||||
public function render()
|
||||
|
||||
@@ -10,10 +10,6 @@
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$isActive = auth()->user()->hasRole(\App\Enums\UserRole::SUPPORTER);
|
||||
@endphp
|
||||
|
||||
<span class="inline-flex items-center gap-2 rounded-full px-3 py-1 text-sm font-medium border
|
||||
{{ $isActive ? 'bg-green-500/10 text-green-300 border-green-500/20' : 'bg-red-500/10 text-red-300 border-red-500/20' }}">
|
||||
<span class="h-2 w-2 rounded-full {{ $isActive ? 'bg-green-400' : 'bg-red-400' }}"></span>
|
||||
|
||||
Reference in New Issue
Block a user