Files
blitzkit/packages/website/src/components/Embeds/Radius.tsx
T

26 lines
776 B
TypeScript
Raw Normal View History

2024-10-26 14:33:04 -05:00
import { Slider } from '@radix-ui/themes';
2024-12-27 12:38:38 -06:00
import type { EmbedPreviewControllerProps } from '../../pages/[...locale]/tools/embed/[embed]/_index';
2024-10-26 14:33:04 -05:00
import { EmbedState, type RadixRadius } from '../../stores/embedState';
export function Radius({ configKey }: EmbedPreviewControllerProps) {
const mutateEmbedState = EmbedState.useMutation();
return (
<Slider
variant="soft"
min={0}
max={5}
value={[
EmbedState.use((state) => {
const radius = state[configKey] as RadixRadius;
return radius === 'full' ? 5 : parseInt(radius);
}),
]}
onValueChange={([value]) => {
mutateEmbedState((draft) => {
draft[configKey] = value === 5 ? 'full' : `${value}`;
});
}}
/>
);
}