directory-list.tsx — ui Source File
Architecture documentation for directory-list.tsx, a tsx file in the ui codebase. 9 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 3efca8a9_c761_49f2_7986_266f8b6c8fb6["directory-list.tsx"] f34c1490_de6c_039c_8593_c5f7699bd714["search-directory.tsx"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> f34c1490_de6c_039c_8593_c5f7699bd714 81a13e24_67ef_2515_15ef_fbef5b7f6a8f["SearchDirectory"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 81a13e24_67ef_2515_15ef_fbef5b7f6a8f 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 39a0d62e_8e7d_d097_eb95_91d2bca361f7["icons-react"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 39a0d62e_8e7d_d097_eb95_91d2bca361f7 9a720389_619b_f0f8_ab98_100af17f6d90["use-search-registry"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 9a720389_619b_f0f8_ab98_100af17f6d90 5cc2e542_4b80_220e_4c3a_9de32188bcab["directory-add-button"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 5cc2e542_4b80_220e_4c3a_9de32188bcab 3da222af_82f8_70c2_55f5_748b08929a10["directory.json"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 3da222af_82f8_70c2_55f5_748b08929a10 57e86e45_ac6e_7278_be08_9092724e8401["button"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 57e86e45_ac6e_7278_be08_9092724e8401 58f4fa76_4350_6209_54e6_f19a58e0eda4["item"] 3efca8a9_c761_49f2_7986_266f8b6c8fb6 --> 58f4fa76_4350_6209_54e6_f19a58e0eda4 style 3efca8a9_c761_49f2_7986_266f8b6c8fb6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { IconArrowUpRight } from "@tabler/icons-react"
import { useSearchRegistry } from "@/hooks/use-search-registry"
import { DirectoryAddButton } from "@/components/directory-add-button"
import globalRegistries from "@/registry/directory.json"
import { Button } from "@/registry/new-york-v4/ui/button"
import {
Item,
ItemActions,
ItemContent,
ItemDescription,
ItemFooter,
ItemGroup,
ItemMedia,
ItemSeparator,
ItemTitle,
} from "@/registry/new-york-v4/ui/item"
import { SearchDirectory } from "./search-directory"
function getHomepageUrl(homepage: string) {
const url = new URL(homepage)
url.searchParams.set("utm_source", "ui.shadcn.com")
url.searchParams.set("utm_medium", "referral")
url.searchParams.set("utm_campaign", "directory")
return url.toString()
}
export function DirectoryList() {
const { registries } = useSearchRegistry()
return (
<div className="mt-6">
<SearchDirectory />
<ItemGroup className="my-8">
{registries.map((registry, index) => (
<React.Fragment key={index}>
<Item className="group/item relative gap-6 px-0">
<ItemMedia
variant="image"
dangerouslySetInnerHTML={{ __html: registry.logo }}
className="*:[svg]:fill-foreground grayscale *:[svg]:size-8"
/>
<ItemContent>
<ItemTitle>
<a
href={getHomepageUrl(registry.homepage)}
target="_blank"
rel="noopener noreferrer external"
className="group flex items-center gap-1"
>
{registry.name}{" "}
<IconArrowUpRight className="size-4 opacity-0 group-hover:opacity-100" />
</a>
</ItemTitle>
{registry.description && (
<ItemDescription className="text-pretty">
{registry.description}
</ItemDescription>
)}
</ItemContent>
<ItemActions className="relative z-10 hidden self-start sm:flex">
<DirectoryAddButton registry={registry} />
</ItemActions>
<ItemFooter className="justify-start pl-16 sm:hidden">
<Button size="sm" variant="outline">
View <IconArrowUpRight />
</Button>
<DirectoryAddButton registry={registry} />
</ItemFooter>
</Item>
{index < globalRegistries.length - 1 && (
<ItemSeparator className="my-1" />
)}
</React.Fragment>
))}
</ItemGroup>
</div>
)
}
Domain
Subdomains
Functions
Dependencies
- SearchDirectory
- button
- directory-add-button
- directory.json
- icons-react
- item
- react
- search-directory.tsx
- use-search-registry
Source
Frequently Asked Questions
What does directory-list.tsx do?
directory-list.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 directory-list.tsx?
directory-list.tsx defines 2 function(s): DirectoryList, getHomepageUrl.
What does directory-list.tsx depend on?
directory-list.tsx imports 9 module(s): SearchDirectory, button, directory-add-button, directory.json, icons-react, item, react, search-directory.tsx, and 1 more.
Where is directory-list.tsx in the architecture?
directory-list.tsx is located at apps/v4/components/directory-list.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