From 89beced3c0f68c0e52b439e5e8ea63c465e0639c Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Sun, 3 May 2026 18:47:01 +0530 Subject: [PATCH] feat(layout): integrate announcement unread count into FreeLayoutDataProvider for enhanced user notifications --- .../components/layout/providers/FreeLayoutDataProvider.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/surfsense_web/components/layout/providers/FreeLayoutDataProvider.tsx b/surfsense_web/components/layout/providers/FreeLayoutDataProvider.tsx index a2695078a..68ee552f8 100644 --- a/surfsense_web/components/layout/providers/FreeLayoutDataProvider.tsx +++ b/surfsense_web/components/layout/providers/FreeLayoutDataProvider.tsx @@ -6,6 +6,7 @@ import type { ReactNode } from "react"; import { Fragment, useCallback, useEffect, useMemo, useState } from "react"; import { useAnonymousMode } from "@/contexts/anonymous-mode"; import { useLoginGate } from "@/contexts/login-gate"; +import { useAnnouncements } from "@/hooks/use-announcements"; import { useIsMobile } from "@/hooks/use-mobile"; import { anonymousChatApiService } from "@/lib/apis/anonymous-chat-api.service"; import type { ChatItem, NavItem, PageUsage, SearchSpace } from "../types/layout.types"; @@ -28,6 +29,7 @@ export function FreeLayoutDataProvider({ children }: FreeLayoutDataProviderProps const { gate } = useLoginGate(); const anonMode = useAnonymousMode(); const isMobile = useIsMobile(); + const { unreadCount: announcementUnreadCount } = useAnnouncements(); const [quota, setQuota] = useState<{ used: number; limit: number } | null>(null); const [isDocsSidebarOpen, setIsDocsSidebarOpen] = useState(false); @@ -125,6 +127,7 @@ export function FreeLayoutDataProvider({ children }: FreeLayoutDataProviderProps onManageMembers={gatedAction("team management")} onUserSettings={gatedAction("account settings")} onAnnouncements={handleAnnouncements} + announcementUnreadCount={announcementUnreadCount} onLogout={() => router.push("/register")} pageUsage={pageUsage} isChatPage