site-header.tsx — ui Source File
Architecture documentation for site-header.tsx, a tsx file in the ui codebase. 15 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 5f2ab82e_047f_13f5_6e49_18f330670d61["site-header.tsx"] ba3d44f3_7b34_f9cc_6283_44817785c0df["link"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> ba3d44f3_7b34_f9cc_6283_44817785c0df 81821566_3643_c91a_1397_57950c94b526["core-free-icons"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 81821566_3643_c91a_1397_57950c94b526 614a3ef5_2f09_8b4c_c7b8_666db5a9ce32["react"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 614a3ef5_2f09_8b4c_c7b8_666db5a9ce32 5281a958_99ee_42f0_65d8_3fb6d850517a["colors"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 5281a958_99ee_42f0_65d8_3fb6d850517a 8964a549_2e67_58d7_11c7_c9265d5c7971["config"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 8964a549_2e67_58d7_11c7_c9265d5c7971 b5f7acc2_8550_f8f0_0425_a71c6d434acd["source"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> b5f7acc2_8550_f8f0_0425_a71c6d434acd 91feee92_167b_cf70_b927_445a7844beb0["command-menu"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 91feee92_167b_cf70_b927_445a7844beb0 7ee0c12d_6aee_e514_40d3_7e7272f813fe["github-link"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 7ee0c12d_6aee_e514_40d3_7e7272f813fe aae3c3f1_230a_9c11_a663_8bbc3f0ad054["icons"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> aae3c3f1_230a_9c11_a663_8bbc3f0ad054 58b9d796_5886_da3a_ceb4_6736280c177d["main-nav"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 58b9d796_5886_da3a_ceb4_6736280c177d c0eb0cbe_2231_1d2b_1754_c29cc1b99748["mobile-nav"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> c0eb0cbe_2231_1d2b_1754_c29cc1b99748 683e59cc_aef3_6181_1192_a4dcb3faf152["mode-switcher"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 683e59cc_aef3_6181_1192_a4dcb3faf152 17e11696_99fa_7532_26e0_f54c2421048b["site-config"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 17e11696_99fa_7532_26e0_f54c2421048b 57e86e45_ac6e_7278_be08_9092724e8401["button"] 5f2ab82e_047f_13f5_6e49_18f330670d61 --> 57e86e45_ac6e_7278_be08_9092724e8401 style 5f2ab82e_047f_13f5_6e49_18f330670d61 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import Link from "next/link"
import { PlusSignIcon } from "@hugeicons/core-free-icons"
import { HugeiconsIcon } from "@hugeicons/react"
import { getColors } from "@/lib/colors"
import { siteConfig } from "@/lib/config"
import { source } from "@/lib/source"
import { CommandMenu } from "@/components/command-menu"
import { GitHubLink } from "@/components/github-link"
import { Icons } from "@/components/icons"
import { MainNav } from "@/components/main-nav"
import { MobileNav } from "@/components/mobile-nav"
import { ModeSwitcher } from "@/components/mode-switcher"
import { SiteConfig } from "@/components/site-config"
// import blocks from "@/registry/__blocks__.json"
import { Button } from "@/registry/new-york-v4/ui/button"
import { Separator } from "@/registry/new-york-v4/ui/separator"
export function SiteHeader() {
const colors = getColors()
const pageTree = source.pageTree
return (
<header className="bg-background sticky top-0 z-50 w-full">
<div className="container-wrapper 3xl:fixed:px-0 px-6">
<div className="3xl:fixed:container flex h-(--header-height) items-center **:data-[slot=separator]:!h-4">
<MobileNav
tree={pageTree}
items={siteConfig.navItems}
className="flex lg:hidden"
/>
<Button
asChild
variant="ghost"
size="icon"
className="hidden size-8 lg:flex"
>
<Link href="/">
<Icons.logo className="size-5" />
<span className="sr-only">{siteConfig.name}</span>
</Link>
</Button>
<MainNav items={siteConfig.navItems} className="hidden lg:flex" />
<div className="ml-auto flex items-center gap-2 md:flex-1 md:justify-end">
<div className="hidden w-full flex-1 md:flex md:w-auto md:flex-none">
<CommandMenu
tree={pageTree}
colors={colors}
navItems={siteConfig.navItems}
/>
</div>
<Separator
orientation="vertical"
className="ml-2 hidden lg:block"
/>
<GitHubLink />
<Separator orientation="vertical" className="3xl:flex hidden" />
<SiteConfig className="3xl:flex hidden" />
<Separator orientation="vertical" />
<ModeSwitcher />
<Separator orientation="vertical" className="mr-2" />
<Button
asChild
size="sm"
className="hidden h-[31px] rounded-lg sm:flex"
>
<Link href="/create">
<HugeiconsIcon icon={PlusSignIcon} />
New Project
</Link>
</Button>
<Button asChild size="sm" className="h-[31px] rounded-lg sm:hidden">
<Link href="/create">
<HugeiconsIcon icon={PlusSignIcon} />
New
</Link>
</Button>
</div>
</div>
</div>
</header>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- colors
- command-menu
- config
- core-free-icons
- github-link
- icons
- link
- main-nav
- mobile-nav
- mode-switcher
- react
- separator
- site-config
- source
Source
Frequently Asked Questions
What does site-header.tsx do?
site-header.tsx is a source file in the ui codebase, written in tsx. It belongs to the Internationalization domain, RTLLayout subdomain.
What functions are defined in site-header.tsx?
site-header.tsx defines 1 function(s): SiteHeader.
What does site-header.tsx depend on?
site-header.tsx imports 15 module(s): button, colors, command-menu, config, core-free-icons, github-link, icons, link, and 7 more.
Where is site-header.tsx in the architecture?
site-header.tsx is located at apps/v4/components/site-header.tsx (domain: Internationalization, subdomain: RTLLayout, directory: apps/v4/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free