diff --git a/package-lock.json b/package-lock.json index af3b5fa305bd68fd662bd95427c6cb4fdab57935..ca143bbb5525eca01902240b94fa0ee8d291d6ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10849,6 +10849,14 @@ } } }, + "react-router-bootstrap": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/react-router-bootstrap/-/react-router-bootstrap-0.25.0.tgz", + "integrity": "sha512-/22eqxjn6Zv5fvY2rZHn57SKmjmJfK7xzJ6/G1OgxAjLtKVfWgV5sn41W2yiqzbtV5eE4/i4LeDLBGYTqx7jbA==", + "requires": { + "prop-types": "^15.5.10" + } + }, "react-router-dom": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", diff --git a/package.json b/package.json index d8fc919de9554e4e575b5bd934603b976f8db2d1..cc8e8c99746f7105aa41e67264e4da299f5130a0 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "react-bootstrap-typeahead": "^5.1.1", "react-dom": "^16.13.1", "react-icons": "^3.11.0", + "react-router-bootstrap": "^0.25.0", "react-router-dom": "^5.2.0", "react-scripts": "3.4.3" }, diff --git a/src/Dashboard.js b/src/Dashboard.js index d827c4cde0707791599f40cd95684f8ce41802b9..81b340246ddc40b2cf6dab2004788047131d8737 100644 --- a/src/Dashboard.js +++ b/src/Dashboard.js @@ -1,5 +1,6 @@ import React from "react"; import { Container, Row, Col, Button } from "react-bootstrap"; +import { LinkContainer } from "react-router-bootstrap"; import AuthContext from "./AuthContext"; import Fetcher from "./Fetcher"; import OrderList from "./order/OrderList"; @@ -35,9 +36,9 @@ class Dashboard extends React.Component { </Col> <Col xs={{ offset: 0 }} md={{ offset: 1 }}> <br /> - <Button variant="success" href="/purchase"> - Comprar - </Button> + <LinkContainer to="/purchase"> + <Button variant="success">Comprar</Button> + </LinkContainer> </Col> </Row> <OrderList /> diff --git a/src/Head.js b/src/Head.js index ae436ea63de1d98c5323733c354f983522b2f532..f1c223221afc2399c7217fefc8badc643167a539 100644 --- a/src/Head.js +++ b/src/Head.js @@ -1,6 +1,7 @@ import React, { useContext } from "react"; import { Navbar, Nav, NavDropdown, Button, Form } from "react-bootstrap"; import { useLocation } from "react-router-dom"; +import { LinkContainer } from "react-router-bootstrap"; import mano from "./mano.svg"; import AuthContext from "./AuthContext"; @@ -12,34 +13,52 @@ function Head(props) { if (auth.role === "admin") { adminNav = ( <NavDropdown title="Admin" id="admin"> - <Nav.Link href="/members/purchase">Compra</Nav.Link> - <Nav.Link href="/members">Socias</Nav.Link> - <Nav.Link href="/topup">Recarga</Nav.Link> - <Nav.Link href="/members/add">Nueva socia</Nav.Link> + <LinkContainer to="/members/purchase"> + <Nav.Link>Compra</Nav.Link> + </LinkContainer> + <LinkContainer to="/members"> + <Nav.Link>Socias</Nav.Link> + </LinkContainer> + <LinkContainer to="/topup"> + <Nav.Link>Recarga</Nav.Link> + </LinkContainer> + <LinkContainer to="/members/add"> + <Nav.Link>Nueva socia</Nav.Link> + </LinkContainer> </NavDropdown> ); } return ( <Navbar bg="light"> - <Navbar.Brand href="/"> - <img - src={mano} - width="30" - height="30" - className="d-inline-block align-top" - alt="Garbanzo Negro" - /> - </Navbar.Brand> + <LinkContainer to="/"> + <Navbar.Brand> + <img + src={mano} + width="30" + height="30" + className="d-inline-block align-top" + alt="Garbanzo Negro" + /> + </Navbar.Brand> + </LinkContainer> <Navbar.Toggle aria-controls="basic-navbar-nav" /> <Navbar.Collapse id="basic-navbar-nav"> <Nav className="mr-auto" activeKey={location.pathname}> - <Nav.Link href="/products">Productos</Nav.Link> - <Nav.Link href="/purchase">Comprar</Nav.Link> - <Nav.Link href="/order/create">Abrir pedido</Nav.Link> + <LinkContainer to="/products"> + <Nav.Link>Productos</Nav.Link> + </LinkContainer> + <LinkContainer to="/purchase"> + <Nav.Link>Comprar</Nav.Link> + </LinkContainer> + <LinkContainer to="/order/create"> + <Nav.Link>Abrir pedido</Nav.Link> + </LinkContainer> </Nav> <NavDropdown title="Ajustes" id="ajustes"> - <Nav.Link href="/password">Cambiar contraseƱa</Nav.Link> + <LinkContainer to="/password"> + <Nav.Link>Cambiar contraseƱa</Nav.Link> + </LinkContainer> </NavDropdown> {adminNav} diff --git a/src/order/OrderList.js b/src/order/OrderList.js index 46507ae35c5048fd5227b2817412d81f5977955b..9d8075f85e6fed0429bfc80759c12f0baad6ef2d 100644 --- a/src/order/OrderList.js +++ b/src/order/OrderList.js @@ -1,6 +1,7 @@ import React, { useState } from "react"; -import Fetcher from "../Fetcher"; import { Container, Card, Row, Col, Button } from "react-bootstrap"; +import { LinkContainer } from "react-router-bootstrap"; +import Fetcher from "../Fetcher"; function OrderList() { const [orders, setOrders] = useState([]); @@ -9,7 +10,9 @@ function OrderList() { <Card.Body> <Card.Title>{o.name}</Card.Title> <Card.Text>{o.description}</Card.Text> - <Button href={"/order/" + o.ID}>Realizar pedido</Button> + <LinkContainer to={"/order/" + o.ID}> + <Button>Realizar pedido</Button> + </LinkContainer> </Card.Body> </Card> ));