Home / File/ site-header.tsx — ui Source File

site-header.tsx — ui Source File

Architecture documentation for site-header.tsx, a tsx file in the ui codebase. 15 imports, 0 dependents.

File tsx Internationalization RTLLayout 15 imports 1 functions

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>
  )
}

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

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