el.xwx.moe/hooks/useInitialData.tsx

34 lines
962 B
TypeScript
Raw Normal View History

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-11-26 04:17:08 -06:00
import useLocalSettingsStore from "@/store/localSettings";
2023-02-18 21:32:02 -06:00
export default function useInitialData() {
2023-05-18 13:02:17 -05:00
const { status, data } = useSession();
2024-07-30 13:57:09 -05:00
// const { setCollections } = useCollectionStore();
2023-03-22 18:11:54 -05:00
const { setTags } = useTagStore();
// const { setLinks } = useLinkStore();
const { account, setAccount } = useAccountStore();
2023-11-26 04:17:08 -06:00
const { setSettings } = useLocalSettingsStore();
2023-02-18 21:32:02 -06:00
useEffect(() => {
2023-11-26 04:17:08 -06:00
setSettings();
if (status === "authenticated") {
2023-11-26 04:17:08 -06:00
// Get account info
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)) {
2024-07-30 13:57:09 -05:00
// setCollections();
setTags();
// setLinks();
2023-02-18 21:32:02 -06:00
}
}, [account]);
return status;
2023-02-18 21:32:02 -06:00
}