Management: fix routing

This commit is contained in:
Viktor Fomin 2023-09-05 22:19:32 +03:00
parent 9804d0a34a
commit 7afb106b18
6 changed files with 25 additions and 26 deletions

View File

@ -1,6 +1,7 @@
import React, { useEffect } from "react"; import React, { useEffect } from "react";
import { observer, Provider as MobxProvider } from "mobx-react"; import { observer, Provider as MobxProvider } from "mobx-react";
import { I18nextProvider, useTranslation } from "react-i18next"; import { I18nextProvider, useTranslation } from "react-i18next";
import { Outlet } from "react-router-dom";
import { isMobileOnly } from "react-device-detect"; import { isMobileOnly } from "react-device-detect";
@ -11,13 +12,13 @@ import Toast from "@docspace/components/toast";
import "@docspace/common/custom.scss"; import "@docspace/common/custom.scss";
import { RootStoreContext, RootStore, useStore } from "./store"; import { RootStoreContext, RootStore, useStore } from "./store";
import Client from "./categories";
import SimpleHeader from "./SimpleHeader"; import SimpleHeader from "./SimpleHeader";
import store from "client/store"; import store from "client/store";
import Layout from "client/Layout"; import Layout from "client/Layout";
import Main from "client/Main"; import Main from "client/Main";
import NavMenu from "client/NavMenu"; import NavMenu from "client/NavMenu";
import MainLayout from "SRC_DIR/Layout";
import i18n from "./i18n"; import i18n from "./i18n";
@ -60,7 +61,9 @@ const App = observer(() => {
<NavMenu hideProfileMenu customHeader={<SimpleHeader />} /> <NavMenu hideProfileMenu customHeader={<SimpleHeader />} />
<Main isDesktop={false}> <Main isDesktop={false}>
<div className="main-container"> <div className="main-container">
<Client /> <MainLayout>
<Outlet />
</MainLayout>
</div> </div>
</Main> </Main>
</Layout> </Layout>

View File

@ -33,7 +33,7 @@ const ArticleBodyContent = () => {
}, []); }, []);
const onClickItem = (item: TSettingsTreeItem) => { const onClickItem = (item: TSettingsTreeItem) => {
const path = "/management/" + item.link; const path = item.link;
setSelectedKey(item.key); setSelectedKey(item.key);
if (isMobileOnly || isMobile()) { if (isMobileOnly || isMobile()) {

View File

@ -24,7 +24,7 @@ const ArticleSettings = React.memo(() => {
); );
}); });
const Layout = ({ children }: TLayoutProps) => { const MainLayout = ({ children }: TLayoutProps) => {
return ( return (
<> <>
<ArticleSettings /> <ArticleSettings />
@ -39,4 +39,4 @@ const Layout = ({ children }: TLayoutProps) => {
); );
}; };
export default observer(Layout); export default observer(MainLayout);

View File

@ -1,14 +0,0 @@
import React from "react";
import { Outlet } from "react-router-dom";
import Layout from "SRC_DIR/Layout";
const Client = () => {
return (
<Layout>
<Outlet />
</Layout>
);
};
export default Client;

View File

@ -9,15 +9,21 @@ import Backup from "./categories/backup";
import Restore from "./categories/restore"; import Restore from "./categories/restore";
import Payments from "./categories/payments"; import Payments from "./categories/payments";
import ErrorBoundary from "@docspace/common/components/ErrorBoundary";
import Error404 from "client/Error404"; import Error404 from "client/Error404";
const router = createBrowserRouter([ const routes = [
{ {
path: "/management", path: "/",
element: <App />, element: (
<ErrorBoundary>
<App />
</ErrorBoundary>
),
errorElement: <Error404 />, errorElement: <Error404 />,
children: [ children: [
{ index: true, element: <Navigate to="/management/spaces" replace /> }, { index: true, element: <Navigate to="spaces" replace /> },
{ {
path: "spaces", path: "spaces",
element: <Spaces />, element: <Spaces />,
@ -28,7 +34,7 @@ const router = createBrowserRouter([
}, },
{ {
path: "backup", path: "backup",
element: <Navigate to="/management/backup/data-backup" />, element: <Navigate to="data-backup" />,
}, },
{ {
path: "backup/data-backup", path: "backup/data-backup",
@ -48,6 +54,10 @@ const router = createBrowserRouter([
}, },
], ],
}, },
]); ];
const router = createBrowserRouter(routes, {
basename: "/management",
});
export default router; export default router;

View File

@ -2,7 +2,7 @@ import { settingsTree } from "./settingsTree"
import { translations } from "../autoGeneratedTranslations"; import { translations } from "../autoGeneratedTranslations";
export const getItemByLink = (path: string) => { export const getItemByLink = (path: string) => {
const resultPath = path.split("/")[2]; const resultPath = path.split("/")[1];
const item = settingsTree.filter((item) => item.link === resultPath); const item = settingsTree.filter((item) => item.link === resultPath);
return item[0]; return item[0];
} }