UNPKG

@veecode-platform/plugin-kong-service-manager

Version:

37 lines (34 loc) 3.43 kB
import React from 'react'; import { Container, Grid } from '@material-ui/core'; import { MenuOptions } from './MenuOptions/MenuOptions.esm.js'; import { useNavigate, Routes, Route, Navigate } from 'react-router-dom'; import '../../context/KongServiceManagerContext.esm.js'; import { KongServiceManagerProvider } from '../../context/KongServiceManagerProvider.esm.js'; import { useHomepageStyles } from './styles.esm.js'; import { SpecPluginsList } from '../SpecList/SpecPluginsList/SpecPluginsList.esm.js'; import { isKongManagerSpecAvailable } from '../../hooks/useKongServiceManager.esm.js'; import { useEntity } from '@backstage/plugin-catalog-react'; import { RequirePermission } from '@backstage/plugin-permission-react'; import { kongServiceReadPermission, kongRoutesReadPermission, kongReadSpecsPermission } from '@veecode-platform/backstage-plugin-kong-service-manager-common'; import RoutePage from '../RoutePage/RoutePage.esm.js'; import ServicePage from '../ServicePage/ServicePage.esm.js'; import RoutesList from '../RoutesList/RoutesList.esm.js'; import SpecList from '../SpecList/SpecList.esm.js'; const KongServiceManagerHomepage = () => { const { content, divider } = useHomepageStyles(); const { entity } = useEntity(); const navigate = useNavigate(); const specListAvailable = isKongManagerSpecAvailable(entity); React.useEffect(() => { navigate(""); }, []); return /* @__PURE__ */ React.createElement(KongServiceManagerProvider, null, /* @__PURE__ */ React.createElement(Container, { maxWidth: "xl" }, /* @__PURE__ */ React.createElement(Grid, { container: true, spacing: 4, className: content }, /* @__PURE__ */ React.createElement(Grid, { item: true, lg: 2, className: divider }, /* @__PURE__ */ React.createElement(MenuOptions, { isSpecAvailable: specListAvailable })), /* @__PURE__ */ React.createElement(Grid, { item: true, lg: 10 }, /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, { path: "", element: /* @__PURE__ */ React.createElement(RequirePermission, { permission: kongServiceReadPermission }, /* @__PURE__ */ React.createElement(ServicePage, null)) }), /* @__PURE__ */ React.createElement(Route, { path: "all-routes/*", element: /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, { path: "", element: /* @__PURE__ */ React.createElement(RequirePermission, { permission: kongRoutesReadPermission }, /* @__PURE__ */ React.createElement(RoutesList, null)) }), /* @__PURE__ */ React.createElement(Route, { path: "/:routeNameOrId", element: /* @__PURE__ */ React.createElement(RequirePermission, { permission: kongRoutesReadPermission }, /* @__PURE__ */ React.createElement(RoutePage, null)) })) }), /* @__PURE__ */ React.createElement( Route, { path: "all-specs/*", element: specListAvailable ? /* @__PURE__ */ React.createElement(RequirePermission, { permission: kongReadSpecsPermission }, /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, { path: "", element: /* @__PURE__ */ React.createElement(SpecList, null) }), /* @__PURE__ */ React.createElement(Route, { path: ":specName", element: /* @__PURE__ */ React.createElement(SpecPluginsList, null) }))) : /* @__PURE__ */ React.createElement(Navigate, { to: "/" }) } )))))); }; export { KongServiceManagerHomepage }; //# sourceMappingURL=KongServiceManagerHomepage.esm.js.map