"use client"; import React, { memo } from "react"; import { usePathname } from "next/navigation"; import Logo from "./Logo"; import MenuBar from "./MenuBar"; import MenuBarItem from "./MenuBarItem"; import Button from "./Button"; import AvatarContainer from "./AvatarContainer"; import Avatar from "./Avatar"; import { getAssetPath, ASSETS } from "../../lib/assetUtils"; // Configuration data for testing export const navigationItems = [ { href: "#", text: "Use cases", extraPadding: true }, { href: "/learn", text: "Learn" }, { href: "#", text: "About" }, ]; export const avatarImages = [ { src: getAssetPath(ASSETS.AVATAR_1), alt: "Avatar 1" }, { src: getAssetPath(ASSETS.AVATAR_2), alt: "Avatar 2" }, { src: getAssetPath(ASSETS.AVATAR_3), alt: "Avatar 3" }, ]; export const logoConfig = [ { breakpoint: "block sm:hidden", size: "header", showText: false }, { breakpoint: "hidden sm:block md:hidden", size: "header", showText: true }, { breakpoint: "hidden md:block lg:hidden", size: "headerMd", showText: true, }, { breakpoint: "hidden lg:block xl:hidden", size: "headerLg", showText: true, }, { breakpoint: "hidden xl:block", size: "headerXl", showText: true }, ]; const Header = memo(() => { const pathname = usePathname(); // Schema markup for site navigation const schemaData = { "@context": "https://schema.org", "@type": "WebSite", name: "CommunityRule", url: "https://communityrule.com", potentialAction: { "@type": "SearchAction", target: "https://communityrule.com/search?q={search_term_string}", "query-input": "required name=search_term_string", }, }; const renderNavigationItems = (size) => { return navigationItems.map((item, index) => ( {item.text} )); }; const renderAvatarGroup = (containerSize, avatarSize) => { return ( {avatarImages.map((avatar, index) => ( ))} ); }; const renderLoginButton = (size) => { return ( Log in ); }; const renderCreateRuleButton = (buttonSize, containerSize, avatarSize) => { return ( ); }; const renderLogo = (size, showText) => { return ; }; return ( <>