forked from 4GeeksAcademy/react-flask-hello-deprecated
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnavbar.js
executable file
·71 lines (64 loc) · 3.78 KB
/
navbar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import React, { useContext, useEffect } from "react";
import logo from "../../img/Icono puppereats.png";
import { Link } from "react-router-dom";
import { Context } from "../store/appContext";
import { FaUserCircle, FaShoppingCart, FaSignOutAlt } from "react-icons/fa";
export const Navbar = ({ setActiveCategory }) => {
const { store, actions } = useContext(Context);
const { user, cart } = store;
useEffect(() => {
console.log("Usuario en navbar:", user);
}, [user, cart]);
const totalUnidades = store.cart.reduce((total, producto) => total + (producto.cantidad || 1), 0);
if (typeof setActiveCategory !== "function") {
console.error("⚠️ Error: setActiveCategory no es una función en Navbar.js.");
return null;
}
return (
<nav className="navbar navbar-expand-lg shadow-lg" style={{
background: "#EABDE6" ,
padding: "15px 30px",
}}>
<div className="container-fluid">
<Link to="/" className="navbar-brand d-flex align-items-center" onClick={() => setActiveCategory(null)}>
<img src={logo} alt="Logo" style={{ height: "60px", border: "3px solid #000", borderRadius: "10px", padding: "3px" }} />
<span className="fw-bold text-dark" style={{ fontSize: "1.5rem", marginLeft: "10px" }}>Pupper Eats</span>
</Link>
<div className="collapse navbar-collapse" id="navbarSupportedContent">
<ul className="navbar-nav mx-auto mb-2 mb-lg-0">
<li className="nav-item m-2">
<Link to="/" className="nav-link fw-semibold btn btn-link text-dark" onClick={() => setActiveCategory("dogFood")}>Caninos</Link>
</li>
<li className="nav-item m-2">
<Link to="/" className="nav-link fw-semibold btn btn-link text-dark" onClick={() => setActiveCategory("catFood")}>Felinos</Link>
</li>
<li className="nav-item m-2">
<Link to="/" className="nav-link fw-semibold btn btn-link text-dark" onClick={() => setActiveCategory("exoticFood")}>Exóticos</Link>
</li>
<li className="nav-item m-2">
<Link to="/" className="nav-link fw-semibold btn btn-link text-dark" onClick={() => setActiveCategory("accesories")}>Accesorios</Link>
</li>
</ul>
<ul className="navbar-nav d-flex align-items-center gap-2">
{user ? (
<>
<Link to="/perfilUsuario" className="text-dark text-decoration-none d-flex align-items-center">
<FaUserCircle size={24} className="me-1" />
<span className="fw-semibold">Perfil</span>
</Link>
<Link to="/carrito" className="btn btn-warning d-flex align-items-center">
<FaShoppingCart size={18} className="me-1" /> Cesta {totalUnidades > 0 && `(${totalUnidades})`}
</Link>
<button className="btn btn-light text-muted border-0 d-flex align-items-center" onClick={actions.logout}>
<FaSignOutAlt size={16} className="me-1" /> Salir
</button>
</>
) : (
<Link to="/loginSignup" className="btn btn-dark">Registro / Inicio</Link>
)}
</ul>
</div>
</div>
</nav>
);
};