aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/emcoui/src/App.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/emcoui/src/App.js')
-rw-r--r--src/tools/emcoui/src/App.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/tools/emcoui/src/App.js b/src/tools/emcoui/src/App.js
new file mode 100644
index 00000000..2613ecfd
--- /dev/null
+++ b/src/tools/emcoui/src/App.js
@@ -0,0 +1,76 @@
+//=======================================================================
+// Copyright (c) 2017-2020 Aarna Networks, Inc.
+// All rights reserved.
+// ======================================================================
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ========================================================================
+import React from "react";
+import {
+ BrowserRouter as Router,
+ Switch,
+ Route,
+ Redirect,
+} from "react-router-dom";
+import "./App.css";
+import AppBase from "./appbase/AppBase";
+import Admin from "./admin/Admin";
+
+function App() {
+ return (
+ <Router>
+ <Switch>
+ <Route
+ path="/app/admin"
+ children={({ match, ...others }) => {
+ return (
+ <Switch>
+ <Redirect
+ exact
+ from={`${match.path}`}
+ to={`${match.path}/projects`}
+ />
+ <Route
+ path={`${match.path}`}
+ render={(props) => <Admin {...props} />}
+ />
+ </Switch>
+ );
+ }}
+ />
+ <Route
+ path="/app/projects/:projectName"
+ children={({ match, ...others }) => {
+ return (
+ <Switch>
+ <Redirect
+ exact
+ from={`${match.path}`}
+ to={`${match.path}/composite-apps`}
+ />
+ <Route
+ path={`${match.path}`}
+ render={(props) => <AppBase {...props} />}
+ />
+ </Switch>
+ );
+ }}
+ />
+ <Route
+ path="/"
+ render={() => {
+ return <Redirect path="/" to={"/app/admin"} />;
+ }}
+ />
+ </Switch>
+ </Router>
+ );
+}
+export default App;