diff --git a/src/api/routes/games.py b/src/api/routes/games.py index 22bc4c76fc..9c5d4507e3 100644 --- a/src/api/routes/games.py +++ b/src/api/routes/games.py @@ -129,3 +129,20 @@ def get_games_by_platform(platform): games = [g.serialize() for g in q.all()] #devuelve todos los juegos encontrados return jsonify({"games": games}), 200 + + # BUSCAR JUEGOS NAVBAR +#@api.route('/SearchGames/', methods=["GET"]) +#def get_games_by_search(): + #query = request.args.get("query") + + #if not query: + #return jsonify({"error": "Falta el parámetro 'query'"}), 400 + + #try: + #results = Games.query.filter(Games.name.ilike(f"%{query}%")).all() + #games_list = [{"id": game.id, "name": game.name} for game in results] + #return jsonify(games_list) + #except Exception as e: + #print("Error en la búsqueda:", e) + #return jsonify({"error": "Juego no encontrado"}), 500 + \ No newline at end of file diff --git a/src/front/components/Navbar.jsx b/src/front/components/Navbar.jsx index 9d24b08942..67feeb5de5 100644 --- a/src/front/components/Navbar.jsx +++ b/src/front/components/Navbar.jsx @@ -1,17 +1,28 @@ import './Navbar.css' import { useState, useEffect } from "react" -import { Link, useNavigate } from "react-router-dom" +import { Link, useNavigate, useParams } from "react-router-dom" import { LogOut } from 'lucide-react'; import { LogIn } from 'lucide-react'; import Logo from "../assets/img/logo.png"; import useGlobalReducer from "../hooks/useGlobalReducer"; -export default function Navbar({showDrowpdown, setShowDrowpdown}) { +export default function Navbar({ showDrowpdown, setShowDrowpdown }) { const { store, dispatch } = useGlobalReducer() + const { all_games } = store; + console.log(all_games) const navigate = useNavigate() const token_user = localStorage.getItem('jwt-token'); const user = localStorage.getItem('user'); - const [view, setview] = useState(false) + const [view, setview] = useState(false); + const [searchGame, setSearchGame] = useState() /* Barra de buscar funcional*/ + + + const handleSearch = () => { + if (searchGame.trim()) { + navigate(`/search?query=${encodeURIComponent(searchGame)}`); + } + + }; const cerrarSesion = () => { localStorage.removeItem("jwt-token") @@ -38,6 +49,19 @@ export default function Navbar({showDrowpdown, setShowDrowpdown}) { }, [token_user]); + const search = () => { + + const game = all_games.find(game => game.name === searchGame) + console.log(game) + console.log(game.id) + navigate(`/DetailsGames/${game.id}`) + + if (!game.name == searchGame) + alert("Juego no encontrado") + + } + + return (