import { inputFieldChecked } from 'client/lazy-app/util'; import { EncodeOptions } from '../shared/meta'; import type WorkerBridge from 'client/lazy-app/worker-bridge'; import { h, Component } from 'preact'; import { inputFieldValueAsNumber, preventDefault } from 'client/lazy-app/util'; import * as style from 'client/lazy-app/Compress/Options/style.css'; import Range from 'client/lazy-app/Compress/Options/Range'; import Checkbox from 'client/lazy-app/Compress/Options/Checkbox'; export async function encode( signal: AbortSignal, workerBridge: WorkerBridge, imageData: ImageData, options: EncodeOptions, ) { return workerBridge.oxipngEncode(signal, imageData, options); } type Props = { options: EncodeOptions; onChange(newOptions: EncodeOptions): void; }; export class Options extends Component { onChange = (event: Event) => { const form = (event.currentTarget as HTMLInputElement).closest( 'form', ) as HTMLFormElement; const options: EncodeOptions = { level: inputFieldValueAsNumber(form.level), interlace: inputFieldChecked(form.interlace), }; this.props.onChange(options); }; render({ options }: Props) { return (
Effort:
); } }