import { FC, ReactNode } from "react"; import { observer } from "mobx-react-lite"; import useSWR from "swr"; // ui import { Spinner } from "@plane/ui"; // components import { InstanceNotReady, InstanceFailureView } from "@/components/instance"; // hooks import { useInstance } from "@/hooks/store"; type TInstanceWrapper = { children: ReactNode; }; export const InstanceWrapper: FC = observer((props) => { const { children } = props; // hooks const { isLoading, instance, fetchInstanceInfo } = useInstance(); const { isLoading: isSWRLoading, mutate } = useSWR("INSTANCE_INFORMATION", () => fetchInstanceInfo(), { revalidateOnFocus: false, revalidateIfStale: false, revalidateOnReconnect: false, errorRetryCount: 0, }); if (isSWRLoading || isLoading) return (
); if (!instance) return ; if (instance?.instance?.is_setup_done === false) return ; return <>{children}; });