mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-07 19:25:14 -05:00
- `curly` requires conditionals to use curly braces - `react/jsx-curly-brace-presence` requires string props to *not* have curly braces
39 lines
975 B
TypeScript
39 lines
975 B
TypeScript
import { useAppDispatch } from 'app/store/storeHooks';
|
|
import IAISlider from 'common/components/IAISlider';
|
|
import {
|
|
ControlNetConfig,
|
|
controlNetWeightChanged,
|
|
} from 'features/controlNet/store/controlNetSlice';
|
|
import { memo, useCallback } from 'react';
|
|
|
|
type ParamControlNetWeightProps = {
|
|
controlNet: ControlNetConfig;
|
|
};
|
|
|
|
const ParamControlNetWeight = (props: ParamControlNetWeightProps) => {
|
|
const { weight, isEnabled, controlNetId } = props.controlNet;
|
|
const dispatch = useAppDispatch();
|
|
const handleWeightChanged = useCallback(
|
|
(weight: number) => {
|
|
dispatch(controlNetWeightChanged({ controlNetId, weight }));
|
|
},
|
|
[controlNetId, dispatch]
|
|
);
|
|
|
|
return (
|
|
<IAISlider
|
|
isDisabled={!isEnabled}
|
|
label="Weight"
|
|
value={weight}
|
|
onChange={handleWeightChanged}
|
|
min={0}
|
|
max={2}
|
|
step={0.01}
|
|
withSliderMarks
|
|
sliderMarks={[0, 1, 2]}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default memo(ParamControlNetWeight);
|