developer-tools index file was restored
This commit is contained in:
parent
832621c6e9
commit
c82fee11c3
@ -0,0 +1,70 @@
|
|||||||
|
import React, { useEffect, useState } from "react";
|
||||||
|
import Submenu from "@docspace/components/submenu";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { combineUrl } from "@docspace/common/utils";
|
||||||
|
import config from "PACKAGE_FILE";
|
||||||
|
|
||||||
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
|
import JavascriptSDK from "./JavascriptSDK";
|
||||||
|
import Webhooks from "./Webhooks";
|
||||||
|
|
||||||
|
import AppLoader from "@docspace/common/components/AppLoader";
|
||||||
|
import SSOLoader from "./sub-components/ssoLoader";
|
||||||
|
|
||||||
|
const DeveloperToolsWrapper = (props) => {
|
||||||
|
const { loadBaseInfo } = props;
|
||||||
|
const [currentTab, setCurrentTab] = useState(0);
|
||||||
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
const data = [
|
||||||
|
{
|
||||||
|
id: "javascript-sdk",
|
||||||
|
name: "Javascript sdk",
|
||||||
|
content: <JavascriptSDK />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "webhooks",
|
||||||
|
name: "Webhooks",
|
||||||
|
content: <Webhooks />,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const load = async () => {
|
||||||
|
await loadBaseInfo();
|
||||||
|
setIsLoading(true);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const path = location.pathname;
|
||||||
|
const currentTab = data.findIndex((item) => path.includes(item.id));
|
||||||
|
if (currentTab !== -1) setCurrentTab(currentTab);
|
||||||
|
|
||||||
|
load();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const onSelect = (e) => {
|
||||||
|
navigate(
|
||||||
|
combineUrl(
|
||||||
|
window.DocSpaceConfig?.proxy?.url,
|
||||||
|
config.homepage,
|
||||||
|
`/portal-settings/developer-tools/${e.id}`,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!isLoading) return currentTab === 0 ? <SSOLoader /> : <AppLoader />;
|
||||||
|
|
||||||
|
return <Submenu data={data} startSelect={currentTab} onSelect={onSelect} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default inject(({ setup }) => {
|
||||||
|
const { initSettings } = setup;
|
||||||
|
|
||||||
|
return {
|
||||||
|
loadBaseInfo: async () => {
|
||||||
|
await initSettings();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
})(observer(DeveloperToolsWrapper));
|
Loading…
Reference in New Issue
Block a user