Merge pull request #1195 from Retrospring/feature/cache-notifications-dropdown

Cache notifications dropdown
This commit is contained in:
Karina Kwiatek 2023-05-07 12:55:29 +02:00 committed by GitHub
commit 8483532605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 3 deletions

View File

@ -14,4 +14,5 @@ module User::NotificationMethods
end
def notification_cache_key = "#{cache_key}/unread_notification_count-#{notifications_updated_at}"
def notification_dropdown_cache_key = "#{cache_key}/notification_dropdown-#{notifications_updated_at}"
end

View File

@ -31,7 +31,9 @@
%span.badge= notification_count
.dropdown-menu.dropdown-menu-end.notification-dropdown
%turbo-frame#notifications-dropdown-list
= render "navigation/dropdown/notifications", notifications:, notification_count: nil
- Rails.cache.fetch current_user.notification_dropdown_cache_key do
- notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4)
= render "navigation/dropdown/notifications", notifications:, size: "desktop"
%li.nav-item.d-none.d-sm-block{ data: { bs_toggle: 'tooltip', bs_placement: 'bottom' }, title: t('.ask_question') }
%a.nav-link{ href: "#", name: "toggle-all-ask", data: { bs_target: "#modal-ask-followers", bs_toggle: :modal, hotkey: "n" } }
%i.fa.fa-pencil-square-o

View File

@ -1,8 +1,7 @@
:ruby
notifications = Notification.for(current_user).where(new: true).includes([:target]).limit(4)
inbox_count = current_user.unread_inbox_count
notification_count = current_user.unread_notification_count
= render "navigation/desktop", notifications:, inbox_count:, notification_count:
= render "navigation/desktop", inbox_count:, notification_count:
= render "navigation/mobile", inbox_count:, notification_count:
= render "modal/ask"