feat: enhance SuccessModal and News context for improved modal management and subscription flow
This commit is contained in:
+14
-4
@@ -7,15 +7,21 @@ import {
|
||||
type SetStateAction,
|
||||
} from 'react'
|
||||
|
||||
type NewsContextProperties = {
|
||||
import type { ModalProperties } from '~/components/popup/success-modal'
|
||||
|
||||
export type NewsContextProperties = {
|
||||
isLoginOpen: boolean
|
||||
setIsLoginOpen: Dispatch<SetStateAction<boolean>>
|
||||
isRegisterOpen: boolean
|
||||
setIsRegisterOpen: Dispatch<SetStateAction<boolean>>
|
||||
isForgetOpen: boolean
|
||||
setForgetOpen: Dispatch<SetStateAction<boolean>>
|
||||
isSuccessModalOpen: boolean
|
||||
setIsSuccessModalOpen: Dispatch<SetStateAction<boolean>>
|
||||
isSuccessModalOpen?: ModalProperties['isOpen']
|
||||
setIsSuccessModalOpen?: Dispatch<
|
||||
SetStateAction<ModalProperties['isOpen'] | undefined>
|
||||
>
|
||||
isInitSubscribeOpen: boolean
|
||||
setIsInitSubscribeOpen: Dispatch<SetStateAction<boolean>>
|
||||
}
|
||||
|
||||
const NewsContext = createContext<NewsContextProperties | undefined>(undefined)
|
||||
@@ -24,7 +30,9 @@ export const NewsProvider = ({ children }: PropsWithChildren) => {
|
||||
const [isLoginOpen, setIsLoginOpen] = useState(false)
|
||||
const [isRegisterOpen, setIsRegisterOpen] = useState(false)
|
||||
const [isForgetOpen, setForgetOpen] = useState(false)
|
||||
const [isSuccessModalOpen, setIsSuccessModalOpen] = useState(false)
|
||||
const [isSuccessModalOpen, setIsSuccessModalOpen] =
|
||||
useState<ModalProperties['isOpen']>()
|
||||
const [isInitSubscribeOpen, setIsInitSubscribeOpen] = useState(false)
|
||||
|
||||
return (
|
||||
<NewsContext.Provider
|
||||
@@ -37,6 +45,8 @@ export const NewsProvider = ({ children }: PropsWithChildren) => {
|
||||
setForgetOpen,
|
||||
isSuccessModalOpen,
|
||||
setIsSuccessModalOpen,
|
||||
isInitSubscribeOpen,
|
||||
setIsInitSubscribeOpen,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user