import { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // ui import { Spinner } from "@plane/ui"; // components import { InstanceNotReady } from "@/components/instance"; // hooks import { useInstance } from "@/hooks/store"; type TInstanceWrapper = { children: ReactNode; }; export const InstanceWrapper: FC = observer((props) => { const { children } = props; // store const { isLoading, instance, error, fetchInstanceInfo } = useInstance(); useSWR("INSTANCE_INFORMATION", () => fetchInstanceInfo(), { revalidateOnFocus: false, }); // loading state if (isLoading) return (
); // something went wrong while in the request if (error && error?.status === "error") return (
Something went wrong. please try again later
); // instance is not ready and setup is not done if (instance?.instance?.is_setup_done === false) return ; return <>{children}; });