mirror of
https://github.com/tuono-labs/tuono
synced 2026-07-27 13:52:47 -07:00
1ae7f72de3
* feat: scaffold documentation app * feat: init documentation website with mantine * feat: add theme button * feat: setup mdx link component * feat: setup basic documentation folder * feat: add routing folder * feat: scaffold homepage * feat: refined navbar and hero * feat: create pre mdx component * feat: create mdx blockquote component * feat: create code mdx component * fix: remove HTMLProps type * feat: create base hero page * ci: add lint/formatting/type checking to documentation * ci: add documentation pipeline * fix: static build documentation * fix: remove documentation test check * fix: install deps outside workspace * fix: filter prettier checks * fix: eslint plugins * fix: clone eslintrc * feat: update dark theme colors * doc: add installation page * feat: add deploy documenation CD pipeline * fix: update documentation bucket region * feat: update documentation head tags * fix: deploy website on main branch push
31 lines
820 B
TypeScript
31 lines
820 B
TypeScript
import {
|
|
ActionIcon,
|
|
useMantineColorScheme,
|
|
useComputedColorScheme,
|
|
} from '@mantine/core'
|
|
import { IconSun, IconMoon } from '@tabler/icons-react'
|
|
import cx from 'clsx'
|
|
|
|
import classes from './theme-btn.module.css'
|
|
|
|
export default function ThemeBtn(): JSX.Element {
|
|
const { setColorScheme } = useMantineColorScheme()
|
|
const computedColorScheme = useComputedColorScheme('light', {
|
|
getInitialValueInEffect: true,
|
|
})
|
|
|
|
return (
|
|
<ActionIcon
|
|
onClick={() =>
|
|
setColorScheme(computedColorScheme === 'light' ? 'dark' : 'light')
|
|
}
|
|
variant="default"
|
|
size="lg"
|
|
aria-label="Toggle color scheme"
|
|
>
|
|
<IconSun className={cx(classes.icon, classes.light)} stroke={1.5} />
|
|
<IconMoon className={cx(classes.icon, classes.dark)} stroke={1.5} />
|
|
</ActionIcon>
|
|
)
|
|
}
|