SYMBOL INDEX (55 symbols across 18 files) FILE: app/actions.ts function createSubdomainAction (line 9) | async function createSubdomainAction( function deleteSubdomainAction (line 61) | async function deleteSubdomainAction( FILE: app/admin/dashboard.tsx type Tenant (line 11) | type Tenant = { type DeleteState (line 17) | type DeleteState = { function DashboardHeader (line 22) | function DashboardHeader() { function TenantGrid (line 40) | function TenantGrid({ function AdminDashboard (line 112) | function AdminDashboard({ tenants }: { tenants: Tenant[] }) { FILE: app/admin/page.tsx function AdminPage (line 11) | async function AdminPage() { FILE: app/layout.tsx function RootLayout (line 16) | function RootLayout({ FILE: app/not-found.tsx function NotFound (line 8) | function NotFound() { FILE: app/page.tsx function HomePage (line 5) | async function HomePage() { FILE: app/s/[subdomain]/page.tsx function generateMetadata (line 7) | async function generateMetadata({ function SubdomainPage (line 27) | async function SubdomainPage({ FILE: app/subdomain-form.tsx type CreateState (line 26) | type CreateState = { function SubdomainInput (line 33) | function SubdomainInput({ defaultValue }: { defaultValue?: string }) { function IconPicker (line 56) | function IconPicker({ function SubdomainForm (line 127) | function SubdomainForm() { FILE: components/ui/button.tsx function Button (line 38) | function Button({ FILE: components/ui/card.tsx function Card (line 5) | function Card({ className, ...props }: React.ComponentProps<"div">) { function CardHeader (line 18) | function CardHeader({ className, ...props }: React.ComponentProps<"div">) { function CardTitle (line 31) | function CardTitle({ className, ...props }: React.ComponentProps<"div">) { function CardDescription (line 41) | function CardDescription({ className, ...props }: React.ComponentProps<"... function CardAction (line 51) | function CardAction({ className, ...props }: React.ComponentProps<"div">) { function CardContent (line 64) | function CardContent({ className, ...props }: React.ComponentProps<"div"... function CardFooter (line 74) | function CardFooter({ className, ...props }: React.ComponentProps<"div">) { FILE: components/ui/dialog.tsx function Dialog (line 9) | function Dialog({ function DialogTrigger (line 15) | function DialogTrigger({ function DialogPortal (line 21) | function DialogPortal({ function DialogClose (line 27) | function DialogClose({ function DialogOverlay (line 33) | function DialogOverlay({ function DialogContent (line 49) | function DialogContent({ function DialogHeader (line 75) | function DialogHeader({ className, ...props }: React.ComponentProps<"div... function DialogFooter (line 85) | function DialogFooter({ className, ...props }: React.ComponentProps<"div... function DialogTitle (line 98) | function DialogTitle({ function DialogDescription (line 111) | function DialogDescription({ FILE: components/ui/emoji-picker.tsx function EmojiPicker (line 14) | function EmojiPicker({ function EmojiPickerSearch (line 30) | function EmojiPickerSearch({ function EmojiPickerRow (line 49) | function EmojiPickerRow({ children, ...props }: EmojiPickerListRowProps) { function EmojiPickerEmoji (line 57) | function EmojiPickerEmoji({ function EmojiPickerCategoryHeader (line 76) | function EmojiPickerCategoryHeader({ function EmojiPickerContent (line 91) | function EmojiPickerContent({ function EmojiPickerFooter (line 126) | function EmojiPickerFooter({ FILE: components/ui/input.tsx function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<"inpu... FILE: components/ui/label.tsx function Label (line 8) | function Label({ FILE: components/ui/popover.tsx function Popover (line 8) | function Popover({ function PopoverTrigger (line 14) | function PopoverTrigger({ function PopoverContent (line 20) | function PopoverContent({ function PopoverAnchor (line 42) | function PopoverAnchor({ FILE: lib/subdomains.ts function isValidIcon (line 3) | function isValidIcon(str: string) { type SubdomainData (line 29) | type SubdomainData = { function getSubdomainData (line 34) | async function getSubdomainData(subdomain: string) { function getAllSubdomains (line 42) | async function getAllSubdomains() { FILE: lib/utils.ts function cn (line 9) | function cn(...inputs: ClassValue[]) { FILE: middleware.ts function extractSubdomain (line 4) | function extractSubdomain(request: NextRequest): string | null { function middleware (line 43) | async function middleware(request: NextRequest) {