| "use client"; |
|
|
| import React from "react"; |
|
|
| interface NavigationProps { |
| user?: { |
| name?: string; |
| avatarUrl?: string; |
| }; |
| } |
|
|
| const Navigation: React.FC<NavigationProps> = ({ user }) => { |
| return ( |
| <nav className="flex flex-col gap-4 p-4 border-r border-gray-200 min-h-screen w-60"> |
| {/* Navigation links */} |
| <ul className="list-none p-0 m-0 flex flex-col gap-2"> |
| <li> |
| <a href="/dashboard" className="text-sm font-medium hover:underline"> |
| Dashboard |
| </a> |
| </li> |
| <li> |
| <a href="/editor" className="text-sm font-medium hover:underline"> |
| Editor |
| </a> |
| </li> |
| <li> |
| <a href="/settings" className="text-sm font-medium hover:underline"> |
| Settings |
| </a> |
| </li> |
| </ul> |
| |
| {/* User info if passed */} |
| {user && ( |
| <div className="mt-auto flex items-center gap-2 pt-4"> |
| <img |
| src={user.avatarUrl || "/default-avatar.png"} |
| alt={user.name || "User"} |
| className="h-10 w-10 rounded-full object-cover" |
| /> |
| <span className="text-sm font-medium">{user.name || "Anonymous"}</span> |
| </div> |
| )} |
| </nav> |
| ); |
| }; |
|
|
| export default Navigation; |
|
|