mirror of
https://github.com/hanzoai/shadcn.git
synced 2026-10-30 18:22:59 +00:00
Squash merge of shadcn-ui/ui main branch into hanzo/ui, bringing in: - [email protected] through [email protected] releases - New apps/v4 directory structure - Registry system improvements and MCP server - Framework support (Vue, Svelte, React Native) - New templates (vite-app, monorepo-next, laravel) - Zod 4 compatibility (scoped override for zod@>4) - Test fixture corrections for alias resolution All 867 merge conflicts resolved preserving Hanzo customizations. 1020/1020 shadcn tests pass.
29 lines
704 B
TypeScript
29 lines
704 B
TypeScript
import { useAtom } from "jotai"
|
|
import { atomWithStorage } from "jotai/utils"
|
|
|
|
import { type ColorFormat } from "@/lib/colors"
|
|
import { useMounted } from "@/hooks/use-mounted"
|
|
|
|
type Config = {
|
|
format: ColorFormat
|
|
lastCopied: string
|
|
}
|
|
|
|
const colorsAtom = atomWithStorage<Config>("colors", {
|
|
format: "hsl",
|
|
lastCopied: "",
|
|
})
|
|
|
|
export function useColors() {
|
|
const [colors, setColors] = useAtom(colorsAtom)
|
|
const mounted = useMounted()
|
|
|
|
return {
|
|
isLoading: !mounted,
|
|
format: colors.format,
|
|
lastCopied: colors.lastCopied,
|
|
setFormat: (format: ColorFormat) => setColors({ ...colors, format }),
|
|
setLastCopied: (lastCopied: string) => setColors({ ...colors, lastCopied }),
|
|
}
|
|
}
|