import React, { useState, useEffect, FunctionComponent } from 'react'; import { View } from 'react-native'; import * as Styled from './Switch.style'; import type { ISwitchProps } from './Switch.types'; import { Typography, Spacing } from '../../ui'; export const Switch: FunctionComponent = ({ label, error, defaultValue, onChange, onValueChange, ...otherSwitchProps }) => { const [isChecked, setIsChecked] = useState(!!defaultValue); const hasError = !!error; const hasLabel = !!label; const handlePress = async (value: boolean) => { setIsChecked(value); onValueChange?.(value); }; useEffect(() => { onChange(isChecked); }, [isChecked]); const Label = hasLabel && ( {label} ); const Error = hasError && ( {error} ); const Icon = ( ); return ( {Icon} {Label} {Error} ); };