diff --git a/src/components/landing/Header.tsx b/src/components/landing/Header.tsx index 9f26e87..47e00ae 100644 --- a/src/components/landing/Header.tsx +++ b/src/components/landing/Header.tsx @@ -1,11 +1,12 @@ import React from 'react'; import { Link } from 'react-router-dom'; import { BookOpen, LogIn, UserPlus, GraduationCap } from 'lucide-react'; +import NavBar from '../layouts/NavBar.tsx'; -export function Header() { +export function Header({token}: { token?: string | null }) { return (
-
+{ /*
@@ -37,7 +38,9 @@ export function Header() { Register
-
+
*/} + +
); } \ No newline at end of file diff --git a/src/components/layouts/NavBar.tsx b/src/components/layouts/NavBar.tsx new file mode 100644 index 0000000..dfcebb8 --- /dev/null +++ b/src/components/layouts/NavBar.tsx @@ -0,0 +1,88 @@ +import { Badge, Bell, BookOpen, GraduationCap, LogIn, ShoppingCart, UserPlus } from "lucide-react"; +import Button from "../../components/ui/Button"; +import React from "react"; +import { Link } from "react-router-dom"; + +function NavBar({ token }: { token?: string | null }) { + + const currentUser = {cartItems:null}; + + return ( +
+ +
+ +
+ + UpSkill + + + +
+ + + {token ? ( + <> + {/* Carrito de compras */} + + + + {/* Notificaciones */} + + {/* Perfil de usuario */} + + + ) : ( + <> + + + Login + + + + Register + + + )} +
+
+ ); +} + +export default NavBar; diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx index 2271b34..8b07944 100644 --- a/src/components/ui/Button.tsx +++ b/src/components/ui/Button.tsx @@ -1,6 +1,6 @@ import React from 'react'; -type ButtonVariant = 'primary' | 'outline'; +type ButtonVariant = 'primary' | 'outline' | 'circle' | 'ghost'; interface ButtonProps extends React.ButtonHTMLAttributes { children: React.ReactNode; @@ -25,6 +25,8 @@ const Button = ({ primary: 'bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500', outline: 'bg-transparent border border-slate-300 text-slate-700 hover:bg-slate-50 focus:ring-slate-400', + circle:' bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500 rounded-full p-2', + ghost: 'bg-transparent text-slate-700 hover:bg-slate-50 focus:ring-slate-400', }; return ( diff --git a/src/pages/LandingPage.tsx b/src/pages/LandingPage.tsx index c2125dc..9bd1bd0 100644 --- a/src/pages/LandingPage.tsx +++ b/src/pages/LandingPage.tsx @@ -6,9 +6,12 @@ import { PopularRanking } from '../components/landing/PopularRanking'; import { Footer } from '../components/landing/Footer'; export default function LandingPage() { + + const token = localStorage.getItem('authToken'); + return (
-
+