From 81a6c6ac55aa40b36f32244efc5a2d50ad404df7 Mon Sep 17 00:00:00 2001 From: Karina Kwiatek Date: Thu, 2 Feb 2023 00:55:31 +0100 Subject: [PATCH] =?UTF-8?q?Prevent=20=F0=9D=91=9B+1=20for=20notification?= =?UTF-8?q?=20type=20counters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/notifications_controller.rb | 3 +++ app/views/tabs/_notifications.html.haml | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 4f2dfdeb..8572f8ff 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -18,6 +18,9 @@ class NotificationsController < ApplicationController @notifications = cursored_notifications_for(type: @type, last_id: params[:last_id]) @notifications_last_id = @notifications.map(&:id).min @more_data_available = !cursored_notifications_for(type: @type, last_id: @notifications_last_id, size: 1).count.zero? + @counters = Notification.where(recipient: current_user, new: true) + .group(:target_type) + .count(:target_type) respond_to do |format| format.html diff --git a/app/views/tabs/_notifications.html.haml b/app/views/tabs/_notifications.html.haml index ad4d7a63..98ba302a 100644 --- a/app/views/tabs/_notifications.html.haml +++ b/app/views/tabs/_notifications.html.haml @@ -9,18 +9,18 @@ .list-group = list_group_item t('.answer'), notifications_path('answer'), - badge: Notification.for(current_user).where(target_type: 'Answer', new: true).count + badge: @counters['Answer'] = list_group_item t('.smile'), notifications_path('smile'), - badge: Notification.for(current_user).where(target_type: 'Smile', new: true).count + badge: @counters['Smile'] = list_group_item t('.comment'), notifications_path('comment'), - badge: Notification.for(current_user).where(target_type: 'Comment', new: true).count + badge: @counters['Comment'] = list_group_item t('.commentsmile'), notifications_path('commentsmile'), - badge: Notification.for(current_user).where(target_type: 'CommentSmile', new: true).count + badge: @counters['CommentSmile'] = list_group_item t('.relationship'), notifications_path('relationship'), - badge: Notification.for(current_user).where(target_type: 'Relationship', new: true).count + badge: @counters['Relationship'] .d-none.d-sm-block= render 'shared/links'