Files
2024-07-15 12:02:48 -04:00

39 lines
923 B
JavaScript

'use client';
import getUnreadMessageCount from '@/app/actions/getUnreadMessageCount';
import { useSession } from 'next-auth/react';
import { createContext, useContext, useState, useEffect } from 'react';
// Create context
const GlobalContext = createContext();
// Create a provider
export function GlobalProvider({ children }) {
const [unreadCount, setUnreadCount] = useState(0);
const { data: session } = useSession();
useEffect(() => {
if (session && session.user) {
getUnreadMessageCount().then((res) => {
if (res.count) setUnreadCount(res.count);
});
}
}, [getUnreadMessageCount, session]);
return (
<GlobalContext.Provider
value={{
unreadCount,
setUnreadCount,
}}
>
{children}
</GlobalContext.Provider>
);
}
// Create a custom hook to access context
export function useGlobalContext() {
return useContext(GlobalContext);
}