diff --git a/packages/web/src/components/App/index.tsx b/packages/web/src/components/App/index.tsx
deleted file mode 100644
index 449db383..00000000
--- a/packages/web/src/components/App/index.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { FormattedMessage } from 'react-intl';
-import Layout from 'components/Layout';
-
-export default function App() {
- return (
-
-
-
- );
-}
diff --git a/packages/web/src/components/AppRow/index.tsx b/packages/web/src/components/AppRow/index.tsx
new file mode 100644
index 00000000..5897630c
--- /dev/null
+++ b/packages/web/src/components/AppRow/index.tsx
@@ -0,0 +1,28 @@
+import Card from '@mui/material/Card';
+import CardActionArea from '@mui/material/CardActionArea';
+import CardContent from '@mui/material/CardContent';
+import Typography from '@mui/material/Typography';
+
+type AppRowProps = {
+ icon?: React.ReactNode;
+ name: string;
+ connectionNumber?: number;
+ flowNumber?: number;
+}
+
+export default function AppRow(props: AppRowProps) {
+ const { name } = props;
+
+ return (
+
+
+
+
+
+ {name}
+
+
+
+
+ );
+}
diff --git a/packages/web/src/components/Container/index.tsx b/packages/web/src/components/Container/index.tsx
new file mode 100644
index 00000000..c5ae9a44
--- /dev/null
+++ b/packages/web/src/components/Container/index.tsx
@@ -0,0 +1,11 @@
+import MuiContainer, { ContainerProps } from '@mui/material/Container';
+
+export default function Container(props: ContainerProps) {
+ return (
+
+ );
+};
+
+Container.defaultProps = {
+ maxWidth: 'lg'
+};
diff --git a/packages/web/src/components/Layout/index.tsx b/packages/web/src/components/Layout/index.tsx
index 455746dc..b6ac072e 100644
--- a/packages/web/src/components/Layout/index.tsx
+++ b/packages/web/src/components/Layout/index.tsx
@@ -19,7 +19,7 @@ export default function Layout({ children }: LayoutProps) {
-
+
{children}
diff --git a/packages/web/src/components/PageTitle/index.tsx b/packages/web/src/components/PageTitle/index.tsx
new file mode 100644
index 00000000..61c9c985
--- /dev/null
+++ b/packages/web/src/components/PageTitle/index.tsx
@@ -0,0 +1,15 @@
+import Typography from '@mui/material/Typography';
+
+type PageTitleProps = {
+ children: React.ReactNode;
+};
+
+export default function PageTitle(props: PageTitleProps) {
+ const { children } = props;
+
+ return (
+
+ {children}
+
+ );
+}
\ No newline at end of file
diff --git a/packages/web/src/index.tsx b/packages/web/src/index.tsx
index a998161e..72afcc62 100644
--- a/packages/web/src/index.tsx
+++ b/packages/web/src/index.tsx
@@ -1,18 +1,21 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import App from 'components/App';
-import reportWebVitals from './reportWebVitals';
+import Layout from 'components/Layout';
import ThemeProvider from 'components/ThemeProvider';
import IntlProvider from 'components/IntlProvider';
import ApolloProvider from 'components/ApolloProvider';
import Router from 'components/Router';
+import routes from 'routes';
+import reportWebVitals from './reportWebVitals';
ReactDOM.render(
-
+
+ {routes}
+
@@ -20,7 +23,6 @@ ReactDOM.render(
document.getElementById('root')
)
-
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
diff --git a/packages/web/src/locales/en.json b/packages/web/src/locales/en.json
index 98f715b3..9e357a0c 100644
--- a/packages/web/src/locales/en.json
+++ b/packages/web/src/locales/en.json
@@ -4,6 +4,6 @@
"welcomeText": "Here comes the dashboard homepage.",
"drawer.dashboard": "Dashboard",
"drawer.flows": "Flows",
- "drawer.apps": "Apps",
+ "drawer.apps": "My Apps",
"drawer.explore": "Explore"
}
\ No newline at end of file
diff --git a/packages/web/src/pages/Applications/index.tsx b/packages/web/src/pages/Applications/index.tsx
new file mode 100644
index 00000000..4f21f48e
--- /dev/null
+++ b/packages/web/src/pages/Applications/index.tsx
@@ -0,0 +1,19 @@
+import Box from '@mui/material/Box';
+import Container from 'components/Container';
+import PageTitle from 'components/PageTitle';
+import AppRow from 'components/AppRow';
+
+export default function Applications() {
+ return (
+
+
+ Applications
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/web/src/pages/Dashboard/index.tsx b/packages/web/src/pages/Dashboard/index.tsx
new file mode 100644
index 00000000..fdb516ec
--- /dev/null
+++ b/packages/web/src/pages/Dashboard/index.tsx
@@ -0,0 +1,3 @@
+export default function Dashboard() {
+ return (<>Dashboard>);
+};
diff --git a/packages/web/src/pages/Explore/index.tsx b/packages/web/src/pages/Explore/index.tsx
new file mode 100644
index 00000000..f48d7685
--- /dev/null
+++ b/packages/web/src/pages/Explore/index.tsx
@@ -0,0 +1,3 @@
+export default function Explore() {
+ return (<>Explore>);
+};
diff --git a/packages/web/src/pages/Flows/index.tsx b/packages/web/src/pages/Flows/index.tsx
new file mode 100644
index 00000000..8c8e241d
--- /dev/null
+++ b/packages/web/src/pages/Flows/index.tsx
@@ -0,0 +1,3 @@
+export default function Flows() {
+ return (<>Flows>);
+};
diff --git a/packages/web/src/routes.tsx b/packages/web/src/routes.tsx
new file mode 100644
index 00000000..738235dd
--- /dev/null
+++ b/packages/web/src/routes.tsx
@@ -0,0 +1,34 @@
+import { Route, Switch, Redirect } from "react-router";
+import Dashboard from 'pages/Dashboard';
+import Applications from 'pages/Applications';
+import Flows from 'pages/Flows';
+import Explore from 'pages/Explore';
+import * as URLS from 'config/urls';
+
+export default (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404
+
+
+);