import React from "react"; import * as GQL from "src/core/generated-graphql"; import { BooleanSetting, ModalSetting } from "../Inputs"; import { VideoPreviewInput, VideoPreviewSettingsInput, } from "../GeneratePreviewOptions"; import { useIntl } from "react-intl"; interface IGenerateOptions { selection?: boolean; options: GQL.GenerateMetadataInput; setOptions: (s: GQL.GenerateMetadataInput) => void; } export const GenerateOptions: React.FC = ({ selection, options, setOptions: setOptionsState, }) => { const intl = useIntl(); const previewOptions: GQL.GeneratePreviewOptionsInput = options.previewOptions ?? {}; function setOptions(input: Partial) { setOptionsState({ ...options, ...input }); } return ( <> setOptions({ previews: v })} /> setOptions({ imagePreviews: v })} /> id="video-preview-settings" className="sub-setting" disabled={!options.previews} buttonText={`${intl.formatMessage({ id: "dialogs.scene_gen.preview_generation_options", })}…`} value={{ previewExcludeEnd: previewOptions.previewExcludeEnd, previewExcludeStart: previewOptions.previewExcludeStart, previewSegmentDuration: previewOptions.previewSegmentDuration, previewSegments: previewOptions.previewSegments, }} onChange={(v) => setOptions({ previewOptions: v })} renderField={(value, setValue) => ( )} renderValue={() => { return <>; }} /> setOptions({ sprites: v })} /> setOptions({ markers: v })} /> setOptions({ markerImagePreviews: v, }) } /> setOptions({ markerScreenshots: v })} /> setOptions({ transcodes: v })} /> {selection ? ( setOptions({ forceTranscodes: v })} /> ) : undefined} setOptions({ phashes: v })} /> setOptions({ interactiveHeatmapsSpeeds: v })} /> setOptions({ overwrite: v })} /> ); };