| import { | |
| FormControl, | |
| FormField, | |
| FormItem, | |
| FormLabel, | |
| } from '@/components/ui/form'; | |
| import { Switch } from '@/components/ui/switch'; | |
| import { ReactNode } from 'react'; | |
| import { useFormContext } from 'react-hook-form'; | |
| interface SwitchFormItemProps { | |
| name: string; | |
| label: ReactNode; | |
| } | |
| export function SwitchFormField({ label, name }: SwitchFormItemProps) { | |
| const form = useFormContext(); | |
| return ( | |
| <FormField | |
| control={form.control} | |
| name={name} | |
| render={({ field }) => ( | |
| <FormItem className="flex justify-between"> | |
| <FormLabel className="text-base">{label}</FormLabel> | |
| <FormControl> | |
| <Switch | |
| checked={field.value} | |
| onCheckedChange={field.onChange} | |
| aria-readonly | |
| className="!m-0" | |
| /> | |
| </FormControl> | |
| </FormItem> | |
| )} | |
| /> | |
| ); | |
| } | |