diff --git a/src/components/App/index.tsx b/src/components/App/index.tsx index c1c75c41..c8034c2a 100644 --- a/src/components/App/index.tsx +++ b/src/components/App/index.tsx @@ -159,7 +159,7 @@ export default class App extends Component { // options should always be correct for the type, but TypeScript isn't smart enough. const encoderState: EncoderState = { type, - options: options ? options : encoderMap[type].defaultOptions, + options: options || encoderMap[type].defaultOptions, } as EncoderState; images[index] = { diff --git a/src/components/Options/index.tsx b/src/components/Options/index.tsx index 348f9245..4fe0675b 100644 --- a/src/components/Options/index.tsx +++ b/src/components/Options/index.tsx @@ -81,10 +81,15 @@ export default class Options extends Component { onPreprocessorEnabledChange(event: Event) { const el = event.currentTarget as HTMLInputElement; - const preprocessorState = this.props.preprocessorState; - const preprocessor = el.name.split('.')[0] as keyof typeof preprocessorState; - preprocessorState[preprocessor].enabled = el.checked; - this.props.onPreprocessorOptionsChange(preprocessorState); + const preprocessor = el.name.split('.')[0] as keyof PreprocessorState; + + this.props.onPreprocessorOptionsChange({ + ...this.props.preprocessorState, + [preprocessor]: { + ...this.props.preprocessorState[preprocessor], + enabled: el.checked, + }, + }); } @bind @@ -107,25 +112,27 @@ export default class Options extends Component { return (
-

Quantization

- - {preprocessorState.quantizer.enabled ? ( - - ) : ( -
+ {encoderState.type !== 'identity' && ( +
+

Quantization

+ + {preprocessorState.quantizer.enabled && + + } +
+
)} -