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 UIPrimitives 5 imports 1 functions

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

"use client"

import * as React from "react"
import { MoonIcon, SunIcon } from "lucide-react"
import { useTheme } from "next-themes"

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

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

  return (
    <DropdownMenu>
      <DropdownMenuTrigger asChild>
        <Button variant="ghost" className="h-8 w-8 px-0">
          <SunIcon className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
          <MoonIcon 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, UIPrimitives 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/components/mode-toggle.tsx (domain: ComponentRegistry, subdomain: UIPrimitives, directory: deprecated/www/components).

Analyze Your Own Codebase

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

Try Supermodel Free