Skip to content
Snippets Groups Projects
Panel.js 3.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • import React from "react";
    
    import { BrowserRouter, Routes, Route } from "react-router-dom";
    
    import { Container, Row } from "react-bootstrap";
    
    import MemberAdder from "./member/MemberAdder";
    import MemberEditer from "./member/MemberEditer";
    import MemberList from "./member/MemberList";
    
    import ProductList from "./product/ProductList";
    
    meskio's avatar
    meskio committed
    import AnnualReport from "./product/AnnualReport";
    
    import ShowProduct from "./product/ShowProduct";
    
    import CreateProduct from "./product/CreateProduct";
    
    import Inventary from "./inventary/Inventary";
    
    meskio's avatar
    meskio committed
    import ShowInventary from "./inventary/ShowInventary";
    import CreateSupplier from "./inventary/CreateSupplier";
    
    import Dashboard from "./Dashboard";
    import OwnPassword from "./OwnPassword";
    
    meskio's avatar
    meskio committed
    import PurchaseList from "./purchase/PurchaseList";
    
    import Purchase from "./purchase/Purchase";
    import Topup from "./Topup";
    
    meskio's avatar
    meskio committed
    import ShowTransaction from "./transaction/ShowTransaction";
    import TransactionList from "./transaction/TransactionList";
    
    import ShowOrder from "./order/ShowOrder";
    import CreateOrder from "./order/CreateOrder";
    
    meskio's avatar
    meskio committed
    import OrderList from "./order/OrderList";
    
    meskio's avatar
    meskio committed
    import EditOrder from "./order/EditOrder";
    
    meskio's avatar
    meskio committed
    import DuesList from "./dues/DuesList";
    import DuesReport from "./dues/DuesReport";
    
    import SignIn from "./SignIn";
    import ResetRequest from "./ResetRequest";
    import ResetPassword from "./ResetPassword";
    import Head from "./Head";
    import logo from "./logo.svg";
    
    function Panel(props) {
      if (props.isLogged) {
        return <LogedPanel onLogout={props.onLogout} />;
      }
      return <UnlogedPanel onLogin={props.onLogin} />;
    }
    
    function LogedPanel(props) {
      return (
        <div>
          <BrowserRouter>
            <Head onLogout={props.onLogout} />
            <Container>
    
              <Routes>
                <Route path="/" element={<Dashboard />} />
                <Route path="members" element={<MemberList />} />
                <Route path="members/add" element={<MemberAdder />} />
                <Route path="members/purchase" element={<Purchase member />} />
                <Route path="member/:num" element={<MemberEditer />} />
                <Route path="annual" element={<AnnualReport />} />
                <Route path="products" element={<ProductList />} />
                <Route path="product/add" element={<CreateProduct />} />
                <Route path="product/:code" element={<ShowProduct />} />
                <Route path="inventary" element={<Inventary />} />
                <Route path="inventary/:id" element={<ShowInventary />} />
                <Route path="supplier/add" element={<CreateSupplier />} />
                <Route path="transaction" element={<TransactionList />} />
                <Route path="transaction/:id" element={<ShowTransaction />} />
                <Route path="password" element={<OwnPassword />} />
                <Route path="purchase" element={<Purchase />} />
                <Route path="purchases" element={<PurchaseList />} />
                <Route path="topup" element={<Topup />} />
                <Route path="topup/:num" element={<Topup />} />
                <Route path="orders" element={<OrderList />} />
                <Route path="order/create" element={<CreateOrder />} />
                <Route path="order/edit/:id" element={<EditOrder />} />
                <Route path="order/:id" element={<ShowOrder />} />
    
    meskio's avatar
    meskio committed
                <Route path="dues" element={<DuesList />} />
                <Route path="dues/report" element={<DuesReport />} />
    
              </Routes>
    
            </Container>
          </BrowserRouter>
        </div>
      );
    }
    
    function UnlogedPanel(props) {
      return (
        <Container>
          <Row className="justify-content-center">
            <img src={logo} alt="Garbanzo Negro" />
          </Row>
          <BrowserRouter>
    
            <Routes>
              <Route path="/" element={<SignIn onLogin={props.onLogin} />} />
    
              <Route path="/reset/" element={<ResetRequest />} />
              <Route path="/reset/:token" element={<ResetPassword />} />
    
            </Routes>
    
          </BrowserRouter>
        </Container>
      );
    }
    
    export default Panel;