Home / File/ mode-toggle.tsx — ui Source File

mode-toggle.tsx — ui Source File

Architecture documentation for mode-toggle.tsx, a tsx file in the ui codebase. 5 imports, 0 dependents.

File tsx ComponentRegistry ChartRegistry 5 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5["mode-toggle.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  75d25ec8_fe84_91a4_54c6_20dabb286f91["next-themes"]
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 --> 75d25ec8_fe84_91a4_54c6_20dabb286f91
  57e86e45_ac6e_7278_be08_9092724e8401["button"]
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 --> 57e86e45_ac6e_7278_be08_9092724e8401
  d1cb37f2_0d1d_01bc_0d60_a15219afac51["dropdown-menu"]
  c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 --> d1cb37f2_0d1d_01bc_0d60_a15219afac51
  style c2d8d35c_3dd1_1fee_8dcd_97c0a07512e5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"
import { Moon, Sun } from "lucide-react"
import { useTheme } from "next-themes"

import { Button } from "@/registry/new-york-v4/ui/button"
import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuTrigger,
} from "@/registry/new-york-v4/ui/dropdown-menu"

export default function ModeToggle() {
  const { setTheme } = useTheme()

  return (
    <DropdownMenu>
      <DropdownMenuTrigger asChild>
        <Button variant="outline" size="icon">
          <Sun className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" />
          <Moon className="absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" />
          <span className="sr-only">Toggle theme</span>
        </Button>
      </DropdownMenuTrigger>
      <DropdownMenuContent align="end">
        <DropdownMenuItem onClick={() => setTheme("light")}>
          Light
        </DropdownMenuItem>
        <DropdownMenuItem onClick={() => setTheme("dark")}>
          Dark
        </DropdownMenuItem>
        <DropdownMenuItem onClick={() => setTheme("system")}>
          System
        </DropdownMenuItem>
      </DropdownMenuContent>
    </DropdownMenu>
  )
}

Subdomains

Functions

Dependencies

  • button
  • dropdown-menu
  • lucide-react
  • next-themes
  • react

Frequently Asked Questions

What does mode-toggle.tsx do?
mode-toggle.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in mode-toggle.tsx?
mode-toggle.tsx defines 1 function(s): ModeToggle.
What does mode-toggle.tsx depend on?
mode-toggle.tsx imports 5 module(s): button, dropdown-menu, lucide-react, next-themes, react.
Where is mode-toggle.tsx in the architecture?
mode-toggle.tsx is located at apps/v4/registry/new-york-v4/examples/mode-toggle.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: apps/v4/registry/new-york-v4/examples).

Analyze Your Own Codebase

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

Try Supermodel Free