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
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b["mode-toggle.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"]
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3
  75d25ec8_fe84_91a4_54c6_20dabb286f91["next-themes"]
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b --> 75d25ec8_fe84_91a4_54c6_20dabb286f91
  d418ad18_b947_f4e5_6e4c_01100d7a63e4["button"]
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b --> d418ad18_b947_f4e5_6e4c_01100d7a63e4
  f16f43cb_04fd_5f33_2140_7eafce119350["dropdown-menu"]
  f8c2e265_f2d3_2429_4bfe_92e3f92fb41b --> f16f43cb_04fd_5f33_2140_7eafce119350
  style f8c2e265_f2d3_2429_4bfe_92e3f92fb41b 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/default/ui/button"
import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuTrigger,
} from "@/registry/default/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] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
          <Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
          <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 deprecated/www/registry/default/examples/mode-toggle.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: deprecated/www/registry/default/examples).

Analyze Your Own Codebase

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

Try Supermodel Free