import { createContext, useState, useContext, type PropsWithChildren, type Dispatch, type SetStateAction, } from 'react' type NewsContextProperties = { isLoginOpen: boolean setIsLoginOpen: Dispatch> isRegisterOpen: boolean setIsRegisterOpen: Dispatch> isForgetOpen: boolean setForgetOpen: Dispatch> isSuccessOpen: boolean setIsSuccessOpen: Dispatch> } const NewsContext = createContext(undefined) export const NewsProvider = ({ children }: PropsWithChildren) => { const [isLoginOpen, setIsLoginOpen] = useState(false) const [isRegisterOpen, setIsRegisterOpen] = useState(false) const [isForgetOpen, setForgetOpen] = useState(false) const [isSuccessOpen, setIsSuccessOpen] = useState(true) return ( {children} ) } export const useNewsContext = (): NewsContextProperties => { const context = useContext(NewsContext) if (!context) { throw new Error('useNewsContext must be used within a NewsProvider') } return context }