SetupRedirect.tsx raw
1 import React from "react";
2 import { Outlet, useLocation, useNavigate } from "react-router";
3 import Loading from "src/components/Loading";
4 import { useInfo } from "src/hooks/useInfo";
5
6 export function SetupRedirect() {
7 const { data: info } = useInfo();
8 const location = useLocation();
9 const navigate = useNavigate();
10
11 React.useEffect(() => {
12 if (!info) {
13 return;
14 }
15 if (info.setupCompleted && info.running) {
16 navigate("/");
17 return;
18 }
19 }, [info, location, navigate]);
20
21 if (!info) {
22 return <Loading />;
23 }
24
25 return <Outlet />;
26 }
27