'use client'; import * as React from 'react'; import { Check } from 'lucide-react'; import { parseColor } from 'react-aria-components'; import * as Button from '@/components/ui/button'; import * as LinkButton from '@/components/ui/link-button'; import * as Modal from '@/components/ui/modal'; const GRAYSCALE_COLORS = [ '#FFFFFF', '#EBEBEB', '#D1D1D1', '#A3A3A3', '#5C5C5C', '#333333', ]; const THEME_COLORS = ['#335CFF', '#47C2FF', '#7D52F4', '#F6B51E', '#FB4BA3']; // Color button component const ColorButton = ({ colorHex, selectedHex, onSelect, }: { colorHex: string; selectedHex: string; onSelect: (colorHex: string) => void; }) => { const isSelected = selectedHex === colorHex; const isWhite = colorHex === '#FFFFFF'; return ( ); }; const ColorPalette = ({ colors, selectedHex, onColorSelect, }: { colors: string[]; selectedHex: string; onColorSelect: (colorHex: string) => void; }) => (
{colors.map((colorHex) => ( { onColorSelect(color); }} /> ))}
); export default function ThemeColorPopover() { const [color, setColor] = React.useState(parseColor('#5C5C5C')); const [selectedHex, setSelectedHex] = React.useState('#5C5C5C'); const [open, setOpen] = React.useState(true); const handleColorSelect = (colorHex: string) => { setColor(parseColor(colorHex)); setSelectedHex(colorHex); }; return (
Open Color Picker {/* Header */}
Color picker
{/* Content */}
Theme colors Edit
{/* Color Grid */}
{/* Grayscale colors */} {/* Colored swatches */}
#{selectedHex.replace('#', '').toUpperCase()}
); }