You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.4 KiB
79 lines
2.4 KiB
import React, { useState } from "react"; |
|
import { Layout, Empty } from "antd"; |
|
import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; |
|
import ClientsListPage from "../pages/ClientsListPage"; |
|
import RegisterPage from "../pages/RegisterPage"; |
|
import NewClientPage from "../pages/NewClientPage"; |
|
import LoginPage from "../pages/LoginPage"; |
|
import ClientPage from "../pages/ClientPage"; |
|
|
|
import Sidebar from "./Sidebar"; |
|
import Header from "./Header"; |
|
import Breadcrumbs from "./Breadcrumbs"; |
|
import ProjectsListPage from "../pages/ProjectsListPage"; |
|
|
|
const { Footer, Sider } = Layout; |
|
export default function App() { |
|
const [sidebarCollapsed, setSidebarCollapsed] = useState(false); |
|
|
|
const onCollapse = (collapsed) => { |
|
setSidebarCollapsed(collapsed); |
|
}; |
|
|
|
return ( |
|
<Router> |
|
<Layout style={{ minWidth: "100vw", minHeight: "100vh" }}> |
|
<Sider collapsible collapsed={sidebarCollapsed} onCollapse={onCollapse}> |
|
<div |
|
style={{ |
|
height: "32px", |
|
background: "rgba(255, 255, 255, 0.2)", |
|
margin: "16px", |
|
}} |
|
/> |
|
<Sidebar /> |
|
</Sider> |
|
<Layout> |
|
<Header /> |
|
<Breadcrumbs /> |
|
<Layout.Content |
|
style={{ |
|
background: "#fff", |
|
margin: "24px 16px", |
|
padding: 24, |
|
minHeight: 280, |
|
}} |
|
> |
|
<Switch> |
|
<Route exact path="/"> |
|
<Empty /> |
|
</Route> |
|
<Route exact path="/clients"> |
|
<ClientsListPage /> |
|
</Route> |
|
<Route exact path="/projects"> |
|
<ProjectsListPage /> |
|
</Route> |
|
<Route exact path="/clients/new"> |
|
<NewClientPage /> |
|
</Route> |
|
<Route |
|
path="/clients/:id" |
|
render={({ match }) => <ClientPage id={match.params.id} />} |
|
/> |
|
<Route exact path="/login"> |
|
<LoginPage /> |
|
</Route> |
|
<Route path="/register"> |
|
<RegisterPage /> |
|
</Route> |
|
</Switch> |
|
</Layout.Content> |
|
<Footer style={{ textAlign: "center" }}> |
|
Omega CRM ©2020 Created by Garrit Franke |
|
</Footer> |
|
</Layout> |
|
</Layout> |
|
</Router> |
|
); |
|
}
|
|
|