fix: Adjust clip skip layer count based on model

This commit is contained in:
blessedcoolant 2023-07-07 19:05:10 +12:00
parent 803e1aaa17
commit a4dec53b4d

View File

@ -5,11 +5,26 @@ import { setClipSkip } from 'features/parameters/store/generationSlice';
import { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
const clipSkipMap = {
'sd-1': {
maxClip: 12,
markers: [0, 1, 2, 3, 4, 8, 12],
},
'sd-2': {
maxClip: 24,
markers: [0, 1, 2, 3, 5, 10, 15, 20, 24],
},
};
export default function ParamClipSkip() {
const clipSkip = useAppSelector(
(state: RootState) => state.generation.clipSkip
);
const selectedModelId = useAppSelector(
(state: RootState) => state.generation.model
).split('/')[0];
const dispatch = useAppDispatch();
const { t } = useTranslation();
@ -29,12 +44,14 @@ export default function ParamClipSkip() {
label={t('parameters.clipSkip')}
aria-label={t('parameters.clipSkip')}
min={0}
max={30}
max={clipSkipMap[selectedModelId as keyof typeof clipSkipMap].maxClip}
step={1}
value={clipSkip}
onChange={handleClipSkipChange}
withSliderMarks
sliderMarks={[0, 1, 2, 3, 5, 10, 15, 25, 30]}
sliderMarks={
clipSkipMap[selectedModelId as keyof typeof clipSkipMap].markers
}
withInput
withReset
handleReset={handleClipSkipReset}