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;