Files
supabase/apps/ui-library/components/mode-toggle.tsx
Ivan Vasilov 33127bb6ab feat: Library (#34294)
* Copy the design-system app into a new one for ui-library.

* Remove unneeded content.

* Add supabase config.

* Cleanup the css.

* Add bunch of packages.

* Cleanup the registry.

* Regenerate the registry.

* Add needed components for documenting components.

* Add the pages for the components.

* Fix the RegistryBlock.

* Various fixes.

* Add a turbo definition for ui-library.

* Rename Remix to React Router.

* Reorder the pages for all frameworks.

* Remove the bottom pager.

* Fix the pages and command menu.

* Various fixes.

* Minor fixes.

* Add ai editor rules.

* Various fixes.

* Add local supabase env vars.

* Try to fix a package error.

* Bunch of various fixes.

* Fix lint errors.
2025-03-20 22:11:07 +01:00

30 lines
701 B
TypeScript

'use client'
import { useTheme } from 'next-themes'
import * as React from 'react'
import { Moon, Sun } from 'lucide-react'
import { Button_Shadcn_ } from 'ui'
export function ModeToggle() {
const { setTheme, resolvedTheme } = useTheme()
const [, startTransition] = React.useTransition()
return (
<Button_Shadcn_
className="h-7 w-7"
onClick={() => {
startTransition(() => {
setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')
})
}}
size="icon"
variant="ghost"
>
<Moon className="dark:hidden" />
<Sun className="hidden dark:block" />
<span className="sr-only">Toggle theme</span>
</Button_Shadcn_>
)
}