diff --git a/client/src/components/header.tsx b/client/src/components/header.tsx index 208171c..f0093a4 100644 --- a/client/src/components/header.tsx +++ b/client/src/components/header.tsx @@ -1,5 +1,5 @@ import { Link, useLocation } from "wouter"; -import { Search, X } from "lucide-react"; +import { Menu, X, Search } from "lucide-react"; import { Button } from "@/components/ui/button"; import { useState, useRef, useEffect } from "react"; import folxLogo from "@assets/folx_MT_poz_b_1772296729169.png"; @@ -17,6 +17,7 @@ const navItems = [ ]; export default function Header() { + const [mobileOpen, setMobileOpen] = useState(false); const [searchOpen, setSearchOpen] = useState(false); const [searchQuery, setSearchQuery] = useState(""); const [location, navigate] = useLocation(); @@ -98,39 +99,50 @@ export default function Header() { )} + setMobileOpen(!mobileOpen)} + data-testid="button-mobile-menu" + > + {mobileOpen ? : } + - {/* Mobilna navigacija: vodoravna vrstica rubrik, vedno vidna (kot na ONE), - namesto hamburger menija. Vodoravno drsenje brez vidnega drsnika. */} - - - {navItems.map((item) => { - const active = location === item.href; - return ( + {mobileOpen && ( + + + + + + setSearchQuery(e.target.value)} + placeholder="Artikel, Videos suchen..." + className="w-full pl-9 pr-3 py-2 bg-background border border-card-border rounded-md text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary" + data-testid="input-mobile-search" + /> + + + {navItems.map((item) => ( - setMobileOpen(false)} data-testid={`link-mobile-${item.label.toLowerCase().replace(/\s/g, "-")}`} > {item.label} - + - ); - })} + ))} + - - + )} ); }