el.xwx.moe/hooks/useInitialData.tsx

30 lines
859 B
TypeScript
Raw Normal View History

2023-03-22 18:11:54 -05:00
import useCollectionStore from "@/store/collections";
2023-02-18 21:32:02 -06:00
import { useEffect } from "react";
import { useSession } from "next-auth/react";
2023-03-22 18:11:54 -05:00
import useTagStore from "@/store/tags";
2023-05-18 13:02:17 -05:00
import useAccountStore from "@/store/account";
2023-02-18 21:32:02 -06:00
export default function useInitialData() {
2023-05-18 13:02:17 -05:00
const { status, data } = useSession();
2023-03-22 18:11:54 -05:00
const { setCollections } = useCollectionStore();
const { setTags } = useTagStore();
// const { setLinks } = useLinkStore();
const { account, setAccount } = useAccountStore();
2023-02-18 21:32:02 -06:00
// Get account info
2023-02-18 21:32:02 -06:00
useEffect(() => {
if (status === "authenticated") {
setAccount(data?.user.id as number);
}
}, [status, data]);
// Get the rest of the data
useEffect(() => {
if (account.id && (!process.env.NEXT_PUBLIC_STRIPE || account.username)) {
2023-02-18 21:32:02 -06:00
setCollections();
setTags();
// setLinks();
2023-02-18 21:32:02 -06:00
}
}, [account]);
2023-02-18 21:32:02 -06:00
}