2
0
Files
bot/apps/builder/components/shared/SwitchWithLabel.tsx

38 lines
806 B
TypeScript
Raw Normal View History

2022-01-06 16:54:23 +01:00
import { FormLabel, HStack, Switch, SwitchProps } from '@chakra-ui/react'
import React, { useState } from 'react'
type SwitchWithLabelProps = {
2022-01-10 08:05:03 +01:00
id: string
2022-01-06 16:54:23 +01:00
label: string
initialValue: boolean
onCheckChange: (isChecked: boolean) => void
} & SwitchProps
export const SwitchWithLabel = ({
2022-01-10 08:05:03 +01:00
id,
2022-01-06 16:54:23 +01:00
label,
initialValue,
onCheckChange,
...props
}: SwitchWithLabelProps) => {
const [isChecked, setIsChecked] = useState(initialValue)
const handleChange = () => {
setIsChecked(!isChecked)
onCheckChange(!isChecked)
}
return (
<HStack justifyContent="space-between">
2022-01-10 08:05:03 +01:00
<FormLabel htmlFor={id} mb="0">
2022-01-06 16:54:23 +01:00
{label}
</FormLabel>
2022-01-10 08:05:03 +01:00
<Switch
isChecked={isChecked}
onChange={handleChange}
id={id}
{...props}
/>
2022-01-06 16:54:23 +01:00
</HStack>
)
}