import { FormControl, FormLabel, HStack, RangeSlider, RangeSliderFilledTrack, RangeSliderMark, RangeSliderThumb, RangeSliderTrack, Tooltip, } from '@chakra-ui/react'; import { useAppDispatch } from 'app/store/storeHooks'; import { ControlNetConfig, controlNetBeginStepPctChanged, controlNetEndStepPctChanged, } from 'features/controlNet/store/controlNetSlice'; import { ControlNetBeginEndPopover } from 'features/informationalPopovers/components/controlNetBeginEnd'; import { memo, useCallback } from 'react'; type Props = { controlNet: ControlNetConfig; }; const formatPct = (v: number) => `${Math.round(v * 100)}%`; const ParamControlNetBeginEnd = (props: Props) => { const { beginStepPct, endStepPct, isEnabled, controlNetId } = props.controlNet; const dispatch = useAppDispatch(); const handleStepPctChanged = useCallback( (v: number[]) => { dispatch( controlNetBeginStepPctChanged({ controlNetId, beginStepPct: v[0] as number, }) ); dispatch( controlNetEndStepPctChanged({ controlNetId, endStepPct: v[1] as number, }) ); }, [controlNetId, dispatch] ); return ( Begin / End Step Percentage 0% 50% 100% ); }; export default memo(ParamControlNetBeginEnd);