From c9af5caf465d75bd9e80a061309f83fbd94a1f28 Mon Sep 17 00:00:00 2001 From: sahil lenka Date: Mon, 14 Jul 2025 01:54:15 +0530 Subject: [PATCH 1/2] Changed the Navbar to sidebar --- src/components/Header.tsx | 129 +++++++++++++------------------------ src/components/Sidebar.tsx | 57 ++++++++++++++++ 2 files changed, 100 insertions(+), 86 deletions(-) create mode 100644 src/components/Sidebar.tsx diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 1a145f4b..fb4ff79f 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,11 +1,12 @@ import React, { useState, useEffect } from 'react'; -import { Menu, X, Search, Sun, Moon } from 'lucide-react'; +import { Menu, Search, Sun, Moon } from 'lucide-react'; import { useLocation, Link } from 'react-router-dom'; import { useTheme } from '../context/ThemeContext'; +import Sidebar from './Sidebar'; const Header: React.FC = () => { const [isScrolled, setIsScrolled] = useState(false); - const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); + const [isSidebarOpen, setIsSidebarOpen] = useState(false); const location = useLocation(); const { theme, toggleTheme } = useTheme(); const isLandingPage = location.pathname === '/'; @@ -36,31 +37,34 @@ const Header: React.FC = () => { >
- {/* Logo */} - - iotastudio logo -
- - iotastudio - - - .ai - -
- +
+ {/* Hamburger Menu */} + + {/* Logo */} + + iotastudio logo +
+ + iotastudio + + + .ai + +
+ +
+ - {/* Nav */} - {/* Desktop Icons */}
@@ -91,69 +95,22 @@ const Header: React.FC = () => {
- {/* Mobile Toggle */} - -
-
- - {/* Mobile Menu */} - {isMobileMenuOpen && ( -
-
- +
- )} + + setIsSidebarOpen(false)} /> ); }; diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx new file mode 100644 index 00000000..3aa9ea38 --- /dev/null +++ b/src/components/Sidebar.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +import { X } from 'lucide-react'; +import { HashLink } from 'react-router-hash-link'; + +interface SidebarProps { + isOpen: boolean; + onClose: () => void; +} + +const navLinks = [ + { name: 'Features', href: '#features' }, + { name: 'How It Works', href: '#how-it-works' }, + { name: 'For Developers', href: '#for-developers' }, + { name: 'For Users', href: '#for-users' }, +]; + +const Sidebar: React.FC = ({ isOpen, onClose }) => { + return ( + <> + {/* Overlay */} +
+ + {/* Sidebar */} +
+
+

Menu

+ +
+ +
+ + ); +}; + +export default Sidebar; \ No newline at end of file From 14f9c4276a70a7d26a7a1ffbe232e4892c67bfb7 Mon Sep 17 00:00:00 2001 From: sahil lenka Date: Mon, 14 Jul 2025 03:37:58 +0530 Subject: [PATCH 2/2] feat: implement sidebar navigation and add home link --- src/components/Sidebar.tsx | 28 ++++++++++++++++++++-------- src/main.tsx | 30 +++++++++++++++--------------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 3aa9ea38..649874fe 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { X } from 'lucide-react'; import { HashLink } from 'react-router-hash-link'; +import { Link } from 'react-router-dom'; interface SidebarProps { isOpen: boolean; @@ -8,6 +9,7 @@ interface SidebarProps { } const navLinks = [ + { name: 'Home', href: '/browse-models' }, { name: 'Features', href: '#features' }, { name: 'How It Works', href: '#how-it-works' }, { name: 'For Developers', href: '#for-developers' }, @@ -37,14 +39,24 @@ const Sidebar: React.FC = ({ isOpen, onClose }) => {
    {navLinks.map((link) => (
  • - - {link.name} - + {link.name === 'Home' ? ( + + {link.name} + + ) : ( + + {link.name} + + )}
  • ))}
diff --git a/src/main.tsx b/src/main.tsx index cbedcbc2..05589e20 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -23,20 +23,18 @@ function ThemedApp() { const { theme } = useTheme(); return ( -
- - - }> - } /> - } /> - } /> - } /> - } /> - } /> {/* ✅ ADD THIS */} - } /> - - - +
+ + }> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + +
); } @@ -44,7 +42,9 @@ function ThemedApp() { createRoot(document.getElementById('root')!).render( - + + + );