Skip to content

Commit 5a25d79

Browse files
committed
update: search feat in navbar with theme toggle fix
1 parent 922fedb commit 5a25d79

1 file changed

Lines changed: 40 additions & 1 deletion

File tree

components/Navbar.tsx

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
import Image from "next/image";
44
import Link from "next/link";
55
import { motion } from "framer-motion";
6+
import { useState } from "react";
7+
import { Menu, X } from "lucide-react";
68
import { useScrollHiddenNav } from "@/hooks/useScrollHiddenNav";
79
import ToggleButton from "@/components/ui/ToggleButton";
810
import ConnectBtn from "./ui/ConnectBtn";
11+
import { SearchModal } from "./ui/SearchModal";
912

1013
export default function Navbar() {
1114
const isVisible = useScrollHiddenNav();
15+
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
1216

1317
return (
1418
<motion.div
@@ -37,11 +41,46 @@ export default function Navbar() {
3741
dit
3842
</span>
3943
</Link>
40-
<div className="flex items-center gap-3 md:gap-4">
44+
45+
<div className="hidden pe-3.5 md:flex-1 md:justify-end lg:flex">
46+
<div className="w-full max-w-xs">
47+
<SearchModal isOpen={false} onClose={() => {}} inline />
48+
</div>
49+
</div>
50+
<div className="hidden items-center gap-3 md:gap-4 lg:flex">
4151
<ToggleButton />
4252
<ConnectBtn />
4353
</div>
54+
55+
<div className="flex items-center gap-2 lg:hidden">
56+
<ToggleButton />
57+
<button
58+
onClick={() => setIsMobileMenuOpen(!isMobileMenuOpen)}
59+
className="rounded-full p-2 text-black transition-colors hover:bg-black/10 dark:text-white dark:hover:bg-white/10"
60+
>
61+
{isMobileMenuOpen ? <X size={20} /> : <Menu size={20} />}
62+
</button>
63+
</div>
4464
</div>
65+
66+
{isMobileMenuOpen && (
67+
<div className="border-t border-slate-200/10 bg-white/95 lg:hidden dark:border-slate-700/70 dark:bg-slate-950/95">
68+
<div className="space-y-4 px-4 py-4">
69+
<div className="flex items-center justify-end">
70+
<div className="w-full max-w-xs">
71+
<SearchModal
72+
isOpen={false}
73+
onClose={() => setIsMobileMenuOpen(false)}
74+
mobile
75+
/>
76+
</div>
77+
</div>
78+
<div className="flex items-center justify-end gap-3">
79+
<ConnectBtn />
80+
</div>
81+
</div>
82+
</div>
83+
)}
4584
</motion.div>
4685
);
4786
}

0 commit comments

Comments
 (0)