diff --git a/app/Livewire/Studio/Dashboard/Overview.php b/app/Livewire/Studio/Dashboard/Overview.php index 41a46cd..922265e 100644 --- a/app/Livewire/Studio/Dashboard/Overview.php +++ b/app/Livewire/Studio/Dashboard/Overview.php @@ -253,14 +253,25 @@ protected function loadStats() #[On('notification:subscribe')] public function notificationSubscribe(string $subscription) { + $subscription = json_decode($subscription, true); + + $isExist = PushNotification::where('user_id', auth()->id()) + ->whereJsonContains('subscriptions->keys->auth', $subscription['keys']['auth']) + ->first(); + + if ($isExist) { + return; + } + $userId = auth()->id(); + $encodedSubscription = json_encode($subscription); PushNotification::updateOrCreate( [ 'user_id' => $userId, - 'subscriptions' => $subscription, + 'subscriptions' => $encodedSubscription, ], - ['subscriptions' => $subscription] + ['subscriptions' => $encodedSubscription], ); } diff --git a/resources/views/components/layouts/studio.blade.php b/resources/views/components/layouts/studio.blade.php index f722ea3..0b57824 100644 --- a/resources/views/components/layouts/studio.blade.php +++ b/resources/views/components/layouts/studio.blade.php @@ -24,24 +24,38 @@ @fluxScripts