-
+
+
+
+
+ {!userStore.isVisitorMode() && }
+
+
+
-
-
-
-
-
- {!userStore.isVisitorMode() && }
-
-
-
-
- {!userStore.isVisitorMode() &&
}
-
-
+ {!userStore.isVisitorMode() &&
}
+
);
}
diff --git a/web/src/router/index.tsx b/web/src/router/index.tsx
index 0563bf57..4471070c 100644
--- a/web/src/router/index.tsx
+++ b/web/src/router/index.tsx
@@ -4,6 +4,7 @@ import { isNullorUndefined } from "../helpers/utils";
import store from "../store";
import { initialGlobalState, initialUserState } from "../store/module";
+const Root = lazy(() => import("../layouts/Root"));
const Auth = lazy(() => import("../pages/Auth"));
const AuthCallback = lazy(() => import("../pages/AuthCallback"));
const Explore = lazy(() => import("../pages/Explore"));
@@ -43,24 +44,30 @@ const router = createBrowserRouter([
},
{
path: "/",
- element:
,
- loader: async () => {
- await initialGlobalStateLoader();
+ element:
,
+ children: [
+ {
+ path: "",
+ element:
,
+ loader: async () => {
+ await initialGlobalStateLoader();
- try {
- await initialUserState();
- } catch (error) {
- // do nth
- }
+ try {
+ await initialUserState();
+ } catch (error) {
+ // do nth
+ }
- const { host, user } = store.getState().user;
- if (isNullorUndefined(host)) {
- return redirect("/auth");
- } else if (isNullorUndefined(user)) {
- return redirect("/explore");
- }
- return null;
- },
+ const { host, user } = store.getState().user;
+ if (isNullorUndefined(host)) {
+ return redirect("/auth");
+ } else if (isNullorUndefined(user)) {
+ return redirect("/explore");
+ }
+ return null;
+ },
+ },
+ ],
},
{
path: "/u/:userId",
diff --git a/web/yarn.lock b/web/yarn.lock
index 8abe9789..3850cf70 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -54,6 +54,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@^7.19.4":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
+ integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/types@^7.18.6":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
@@ -1703,6 +1710,13 @@ html-parse-stringify@^3.0.1:
dependencies:
void-elements "3.1.0"
+i18next-browser-languagedetector@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.0.1.tgz#ead34592edc96c6c3a618a51cb57ad027c5b5d87"
+ integrity sha512-Pa5kFwaczXJAeHE56CHG2aWzFBMJNUNghf0Pm4SwSrEMps/PTKqW90EYWlIvhuYStf3Sn1K0vw+gH3+TLdkH1g==
+ dependencies:
+ "@babel/runtime" "^7.19.4"
+
i18next@^21.9.2:
version "21.10.0"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.10.0.tgz#85429af55fdca4858345d0e16b584ec29520197d"