From 69cc1db574e319c77d5ae049979a6b35518b26fe Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Thu, 22 May 2025 13:00:55 +0200 Subject: Add subnet guide, layout, nav and embed --- src/components/Navigation.tsx | 103 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/components/Navigation.tsx (limited to 'src/components') diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx new file mode 100644 index 0000000..b5ef2a7 --- /dev/null +++ b/src/components/Navigation.tsx @@ -0,0 +1,103 @@ +import { useState, useEffect } from 'react'; + +export default function Navigation() { + const [isMenuOpen, setIsMenuOpen] = useState(false); + + // Close menu when window is resized to desktop size + useEffect(() => { + const handleResize = () => { + if (window.innerWidth >= 640 && isMenuOpen) { + setIsMenuOpen(false); + } + }; + + window.addEventListener('resize', handleResize); + return () => window.removeEventListener('resize', handleResize); + }, [isMenuOpen]); + + const toggleMenu = () => { + setIsMenuOpen(!isMenuOpen); + }; + + return ( + + + + + CIDR.xyz + + + {/* Hamburger button for mobile */} + + + + + + + {/* Desktop menu */} + + + + + + {/* Mobile menu */} + + + + + + + ); +} + +// Separated NavLinks component for reuse +function NavLinks({ mobile = false }: { mobile?: boolean }) { + const linkClass = `text-gray-700 hover:text-blue-600 font-medium ${mobile ? 'py-2' : ''}`; + + return ( + <> + + CIDR Calculator + + + Subnet Guide + + + Embed + + + Github + + + + + > + ); +} -- cgit v1.3.1