diff --git a/src/App.css b/src/App.css
index 8b13789..e69de29 100644
--- a/src/App.css
+++ b/src/App.css
@@ -1 +0,0 @@
-
diff --git a/src/App.jsx b/src/App.jsx
index ab32059..bf50e05 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,11 +1,13 @@
-import { useState } from "react";
-import heroImg from "./assets/hero.png";
-import Cart from "./pages/Cart";
-import Footer from "./Footer";
-import Home from "./pages/Home";
-import Navbar from "./Navbar";
import { Route, Routes } from "react-router-dom";
+import Footer from "./Footer";
+import Navbar from "./Navbar";
+import Cart from "./pages/Cart";
+import Home from "./pages/Home";
+import Login from "./pages/Login";
+import Register from "./pages/Register";
import "./App.css";
+import NotFound from "./pages/NotFound";
+import Pizza from "./pages/Pizza";
function App() {
return (
@@ -14,7 +16,11 @@ function App() {
} />
+ } />
+ } />
+ } />
} />
+ } />
diff --git a/src/Navbar.jsx b/src/Navbar.jsx
index 338b68f..f80102e 100644
--- a/src/Navbar.jsx
+++ b/src/Navbar.jsx
@@ -8,8 +8,9 @@ const Navbar = () => {
return (
-
+
+ Añadir
+
);
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index 6ff8f86..3d2eb4c 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -3,7 +3,7 @@ import española from "../assets/española.jpg";
import napolitana from "../assets/napolitana.jpg";
import pepperoni from "../assets/pepperoni.jpg";
import CardPizza from "../components/CardPizza";
-import Header from "../Header"
+import Header from "../Header";
import { useEffect } from "react";
const Home = () => {
@@ -18,11 +18,11 @@ const Home = () => {
fetchPizzas();
}, []);
return (
-
+
- {pizzas.map(({ id, ...pizza }) => (
-
+ {pizzas.map((pizza) => (
+
))}
diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx
new file mode 100644
index 0000000..856d27e
--- /dev/null
+++ b/src/pages/Login.jsx
@@ -0,0 +1,40 @@
+import { useState } from "react";
+
+const Login = () => {
+ const [user, setUser] = useState("");
+ const [pass, setPass] = useState("");
+ return (
+
+
Usuario
+
setUser(ev.target.value)}
+ />
+
Contraseña
+
setPass(ev.target.value)}
+ />
+
Confirmar contraseña
+
+
+ );
+};
+
+export default Login;
diff --git a/src/pages/NotFound.jsx b/src/pages/NotFound.jsx
new file mode 100644
index 0000000..dbcd320
--- /dev/null
+++ b/src/pages/NotFound.jsx
@@ -0,0 +1,21 @@
+import { Link } from "react-router-dom";
+
+const NotFound = () => {
+ return (
+
+ Error 404
+
+ ¿No sabes qué es eso? Significa que esta página no existe. Vamos,
+ volvamos a la página principal
+
+
+ Ir al inicio
+
+
+ );
+};
+
+export default NotFound;
diff --git a/src/pages/Pizza.jsx b/src/pages/Pizza.jsx
index a8aac76..6916c07 100644
--- a/src/pages/Pizza.jsx
+++ b/src/pages/Pizza.jsx
@@ -2,6 +2,7 @@ import { useEffect, useState } from "react";
const Pizza = () => {
const [pizza, setPizza] = useState(null);
+ const [error, setError] = useState(null);
const fetchPizza = async () => {
const url = "http://localhost:5000/api/pizzas/p001";
const res = await fetch(url);
@@ -9,28 +10,30 @@ const Pizza = () => {
setPizza(data);
};
useEffect(() => {
- fetchPizza();
+ fetchPizza().catch(setError);
});
- return (
- pizza && (
-
- Pizza {pizza.name}
-
- ${pizza.price.toLocaleString("es-CL")}
-
-
- {pizza.desc}
- Ingredientes
-
- {pizza.ingredients.map((i, index) => (
- - - {i}
- ))}
-
-
-
- )
+ return pizza && !error ? (
+
+ Pizza {pizza.name}
+
+ ${pizza.price.toLocaleString("es-CL")}
+
+
+ {pizza.desc}
+ Ingredientes
+
+ {pizza.ingredients.map((i, index) => (
+ - - {i}
+ ))}
+
+
+
+ ) : (
+ <>
+ Error al obtener pizza: {error}
+ >
);
};
diff --git a/src/pages/Register.jsx b/src/pages/Register.jsx
new file mode 100644
index 0000000..4329159
--- /dev/null
+++ b/src/pages/Register.jsx
@@ -0,0 +1,51 @@
+import { useState } from "react";
+
+const Register = () => {
+ const [user, setUser] = useState("");
+ const [pass, setPass] = useState("");
+ const [confirmPass, setConfirmPass] = useState("");
+ return (
+
+
Usuario
+
setUser(ev.target.value)}
+ />
+
Contraseña
+
setPass(ev.target.value)}
+ />
+
Confirmar contraseña
+
setConfirmPass(ev.target.value)}
+ />
+
+
+
+ );
+};
+
+export default Register;