"use client" import { useState } from "react" import { SectionHeading } from "@/components/ui/section-heading" import { ComponentContainer } from "@/components/ui/component-container" import { TopNavigation } from "@/components/ui/top-navigation" import { Card, CardContent } from "@/components/ui/card" export function TopNavigationSection() { // Interactive component state const [variant, setVariant] = useState<"default" | "minimal" | "with-search" | "with-breadcrumbs">("default") const [showNotifications, setShowNotifications] = useState(true) const [showUserMenu, setShowUserMenu] = useState(true) const [showSearch, setShowSearch] = useState(false) const [showMobileMenu, setShowMobileMenu] = useState(true) const [userName, setUserName] = useState("John Doe") const [notificationCount, setNotificationCount] = useState(3) const properties = [ { name: "variant", type: "select" as const, options: ["default", "minimal", "with-search", "with-breadcrumbs"], defaultValue: "default", label: "Variant", }, { name: "showNotifications", type: "boolean" as const, defaultValue: true, label: "Show Notifications", }, { name: "showUserMenu", type: "boolean" as const, defaultValue: true, label: "Show User Menu", }, { name: "showSearch", type: "boolean" as const, defaultValue: false, label: "Show Search", }, { name: "showMobileMenu", type: "boolean" as const, defaultValue: true, label: "Show Mobile Menu", }, { name: "userName", type: "text" as const, defaultValue: "John Doe", label: "User Name", }, { name: "notificationCount", type: "text" as const, defaultValue: "3", label: "Notification Count", }, ] const renderComponent = (props: Record) => { return (

Page content would go here

) } return (
{/* Interactive Example */} {/* Variants */}

Variants

{/* Default */}
Standard navigation with logo, menu items, and user controls
{/* Minimal */}
Clean, reduced padding with essential elements only
{/* With Search */}
Prominent search bar in the center of the navigation
{/* With Breadcrumbs */}
Shows current page hierarchy with breadcrumb navigation
{/* Usage Examples */}

Usage Examples

Dashboard Application

Perfect for admin panels and internal tools with full navigation and user controls.

Content Management

Ideal for CMS and content-heavy applications with search functionality.

E-commerce Platform

Great for online stores with breadcrumb navigation for product categories.

Minimal App

Clean design for focused applications with minimal distractions.

{/* Best Practices */}

Best Practices

Keep it simple: Include only essential navigation items to avoid clutter

Mobile-first: Ensure navigation works well on mobile devices with collapsible menus

Clear hierarchy: Use breadcrumbs for deep navigation structures

Consistent branding: Include your logo and maintain brand consistency

User feedback: Show notification badges and active states clearly

) }