Home / File/ page.tsx — ui Source File

page.tsx — ui Source File

Architecture documentation for page.tsx, a tsx file in the ui codebase. 3 imports, 0 dependents.

File tsx DocumentationAtlas SearchAPI 3 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  fa144d0d_7b0c_388b_98f2_a67bcb5abcee["page.tsx"]
  9c1a1e1b_87f8_29d5_c12d_e83869cf94e4["next"]
  fa144d0d_7b0c_388b_98f2_a67bcb5abcee --> 9c1a1e1b_87f8_29d5_c12d_e83869cf94e4
  f5b0b1d9_de2f_9c31_0bcd_4adbd07581cb["navigation"]
  fa144d0d_7b0c_388b_98f2_a67bcb5abcee --> f5b0b1d9_de2f_9c31_0bcd_4adbd07581cb
  21e41673_6adc_dc40_151c_93e557507255["component-registry"]
  fa144d0d_7b0c_388b_98f2_a67bcb5abcee --> 21e41673_6adc_dc40_151c_93e557507255
  style fa144d0d_7b0c_388b_98f2_a67bcb5abcee fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { type Metadata } from "next"
import { notFound } from "next/navigation"

import { componentRegistry } from "@/app/(internal)/sink/component-registry"

export const dynamic = "force-static"
export const revalidate = false

export async function generateStaticParams() {
  return Object.keys(componentRegistry).map((name) => ({
    name,
  }))
}

export async function generateMetadata({
  params,
}: {
  params: Promise<{ name: string }>
}): Promise<Metadata> {
  const { name } = await params
  const component = componentRegistry[name as keyof typeof componentRegistry]

  if (!component) {
    return {
      title: "Component Not Found",
    }
  }

  return {
    title: `${component.name} - Kitchen Sink`,
    description: `Demo page for ${component.name} component`,
  }
}

export default async function ComponentPage({
  params,
}: {
  params: Promise<{ name: string }>
}) {
  const { name } = await params
  const component = componentRegistry[name as keyof typeof componentRegistry]

  if (!component) {
    notFound()
  }

  const Component = component.component

  return (
    <div className="p-6">
      <Component />
    </div>
  )
}

Subdomains

Dependencies

  • component-registry
  • navigation
  • next

Frequently Asked Questions

What does page.tsx do?
page.tsx is a source file in the ui codebase, written in tsx. It belongs to the DocumentationAtlas domain, SearchAPI subdomain.
What functions are defined in page.tsx?
page.tsx defines 3 function(s): ComponentPage, generateMetadata, generateStaticParams.
What does page.tsx depend on?
page.tsx imports 3 module(s): component-registry, navigation, next.
Where is page.tsx in the architecture?
page.tsx is located at apps/v4/app/(internal)/sink/[name]/page.tsx (domain: DocumentationAtlas, subdomain: SearchAPI, directory: apps/v4/app/(internal)/sink/[name]).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free