user(); $notificationModels = $customerModel->notifications() ->whereNotIn('id', $customerModel->readNotifications()->pluck('notification_id')) ->orderBy('created_at', 'DESC') ->get(); return view('club.pages.notifications.index', compact('notificationModels')); } /** * Get notifications count * * @return \Illuminate\Http\JsonResponse */ public function notificationsCount(): \Illuminate\Http\JsonResponse { return response()->json(FacadesView::shared('notifications_count', 0)); } /** * Delete notification from list * @param Notification $notification * @return \Illuminate\Http\JsonResponse */ public function destroy(Notification $notification): \Illuminate\Http\JsonResponse { /** @var \App\Models\Customer $customer */ $customer = Auth::guard('club')->user(); $customer->readNotifications()->syncWithoutDetaching($notification->id); session()->flash('success', __('Notification supprimée.')); return response()->json(['success' => true]); } /** * Delete notification from list * @param \App\Http\Requests\Club\Notifications\DeleteNotificationsRequest $request * @return \Illuminate\Http\JsonResponse */ public function destroyMultiple(DeleteNotificationsRequest $request): \Illuminate\Http\JsonResponse { /** @var \App\Models\Customer $customer */ $customer = Auth::guard('club')->user(); $customer->readNotifications()->syncWithoutDetaching($request->validated('ids')); $count = count($request->validated(('ids'))); session()->flash('success', trans_choice( '{1} Notification supprimée.|[2,*] :count notifications supprimées.', $count, ['count' => $count] )); return response()->json(['success' => true]); } }