Files
shadcn-ui/apps/www/hooks/use-colors.ts
2024-07-10 16:11:38 +04:00

25 lines
533 B
TypeScript

import { useAtom } from "jotai"
import { atomWithStorage } from "jotai/utils"
import { ColorFormat } from "@/lib/colors"
import { useMounted } from "@/hooks/use-mounted"
type Config = {
format: ColorFormat
}
const colorsAtom = atomWithStorage<Config>("colors", {
format: "hsl",
})
export function useColors() {
const [colors, setColors] = useAtom(colorsAtom)
const mounted = useMounted()
return {
isLoading: !mounted,
format: colors.format,
setFormat: (format: ColorFormat) => setColors({ format }),
}
}