|
|
|
@ -4,6 +4,7 @@ import { useTranslation } from "react-i18next";
|
|
|
|
|
import { Outlet } from "react-router-dom";
|
|
|
|
|
import storage from "./helpers/storage";
|
|
|
|
|
import { getSystemColorScheme } from "./helpers/utils";
|
|
|
|
|
import useNavigateTo from "./hooks/useNavigateTo";
|
|
|
|
|
import Loading from "./pages/Loading";
|
|
|
|
|
import store from "./store";
|
|
|
|
|
import { useGlobalStore } from "./store/module";
|
|
|
|
@ -11,12 +12,20 @@ import { useUserV1Store } from "./store/v1";
|
|
|
|
|
|
|
|
|
|
const App = () => {
|
|
|
|
|
const { i18n } = useTranslation();
|
|
|
|
|
const navigateTo = useNavigateTo();
|
|
|
|
|
const globalStore = useGlobalStore();
|
|
|
|
|
const { mode, setMode } = useColorScheme();
|
|
|
|
|
const userV1Store = useUserV1Store();
|
|
|
|
|
const [loading, setLoading] = useState(true);
|
|
|
|
|
const { appearance, locale, systemStatus } = globalStore.state;
|
|
|
|
|
|
|
|
|
|
// Redirect to sign up page if no host.
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
if (!systemStatus.host) {
|
|
|
|
|
navigateTo("/auth/signup");
|
|
|
|
|
}
|
|
|
|
|
}, [systemStatus.host]);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const initialState = async () => {
|
|
|
|
|
const { user } = store.getState().user;
|
|
|
|
|