import NewPublication from "@/components/Composer/NewPublication"; import SuperFollow from "@/components/Shared/Account/SuperFollow"; import SwitchAccounts from "@/components/Shared/Account/SwitchAccounts"; import TopUp from "@/components/Shared/Account/TopUp"; import { useSignupStore } from "@/components/Shared/Auth/Signup"; import SuperJoin from "@/components/Shared/Group/SuperJoin"; import ReportAccount from "@/components/Shared/Modal/ReportAccount"; import ReportPost from "@/components/Shared/Modal/ReportPost"; import Subscribe from "@/components/Shared/Modal/Subscribe"; import { Modal } from "@/components/Shared/UI"; import { useAuthModalStore } from "@/store/non-persisted/modal/useAuthModalStore"; import { useFundModalStore } from "@/store/non-persisted/modal/useFundModalStore"; import { useNewPostModalStore } from "@/store/non-persisted/modal/useNewPostModalStore"; import { useProModalStore } from "@/store/non-persisted/modal/useProModalStore"; import { useReportAccountModalStore } from "@/store/non-persisted/modal/useReportAccountModalStore"; import { useReportPostModalStore } from "@/store/non-persisted/modal/useReportPostModalStore"; import { useSuperFollowModalStore } from "@/store/non-persisted/modal/useSuperFollowModalStore"; import { useSuperJoinModalStore } from "@/store/non-persisted/modal/useSuperJoinModalStore"; import { useSwitchAccountModalStore } from "@/store/non-persisted/modal/useSwitchAccountModalStore"; import { usePostAttachmentStore } from "@/store/non-persisted/post/usePostAttachmentStore"; import { usePostStore } from "@/store/non-persisted/post/usePostStore"; import Auth from "./Auth"; const GlobalModals = () => { const { setShow: setShowSwitchAccountModal, show: showSwitchAccountModal } = useSwitchAccountModalStore(); const { show: showNewPostModal, setShow: setShowNewPostModal } = useNewPostModalStore(); const { editingPost, setEditingPost, setQuotedPost, setPostContent } = usePostStore(); const { setAttachments } = usePostAttachmentStore(); const { authModalType, showAuthModal, setShowAuthModal } = useAuthModalStore(); const { reportingAccount, showReportAccountModal, setShowReportAccountModal } = useReportAccountModalStore(); const { reportingPostId, showReportPostModal, setShowReportPostModal } = useReportPostModalStore(); const { showFundModal, setShowFundModal } = useFundModalStore(); const { showSuperJoinModal, setShowSuperJoinModal, superJoiningGroup } = useSuperJoinModalStore(); const { showSuperFollowModal, setShowSuperFollowModal, superFollowingAccount } = useSuperFollowModalStore(); const { show: showProModal, setShow: setShowProModal } = useProModalStore(); const { screen: signupScreen } = useSignupStore(); const authModalTitle = authModalType === "signup" ? signupScreen === "choose" ? "Signup" : null : "Login"; return ( <> setShowReportPostModal(false, reportingPostId)} show={showReportPostModal} title="Report Post" > setShowReportAccountModal(false, reportingAccount)} show={showReportAccountModal} title="Report account" > setShowSwitchAccountModal(false)} show={showSwitchAccountModal} size="xs" title="Switch Account" > setShowAuthModal(false, authModalType)} show={showAuthModal} title={authModalTitle} > { setShowNewPostModal(false); setPostContent(""); setEditingPost(undefined); setQuotedPost(undefined); setAttachments([]); }} show={showNewPostModal} size="md" title={editingPost ? "Edit post" : "Create post"} > setShowFundModal({ showFundModal: false })} show={showFundModal} title="Top-up your account" > setShowSuperJoinModal(false, superJoiningGroup)} show={showSuperJoinModal} title="Super Join" > setShowSuperFollowModal(false, superFollowingAccount)} show={showSuperFollowModal} title="Super Follow" > setShowProModal(false)} show={showProModal} size="md" > ); }; export default GlobalModals;