@veecode-platform/plugin-kong-service-manager
Version:
37 lines (34 loc) • 3.43 kB
JavaScript
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