import React, { FormEvent } from 'react' import { useRecoilState, useRecoilValue } from 'recoil' import { FolderOpenIcon } from '@heroicons/react/24/outline' import * as Tabs from '@radix-ui/react-tabs' import { isPaintByExampleState, isSDState, settingState, } from '../../store/Atoms' import Modal from '../shared/Modal' import ManualRunInpaintingSettingBlock from './ManualRunInpaintingSettingBlock' import HDSettingBlock from './HDSettingBlock' import ModelSettingBlock from './ModelSettingBlock' import DownloadMaskSettingBlock from './DownloadMaskSettingBlock' import useHotKey from '../../hooks/useHotkey' import SettingBlock from './SettingBlock' import { Switch, SwitchThumb } from '../shared/Switch' import Button from '../shared/Button' import TextInput from '../shared/Input' declare module 'react' { interface InputHTMLAttributes extends HTMLAttributes { // extends React's HTMLAttributes directory?: string webkitdirectory?: string } } interface SettingModalProps { onClose: () => void } export default function SettingModal(props: SettingModalProps) { const { onClose } = props const [setting, setSettingState] = useRecoilState(settingState) const isSD = useRecoilValue(isSDState) const isPaintByExample = useRecoilValue(isPaintByExampleState) const handleOnClose = () => { setSettingState(old => { return { ...old, show: false } }) onClose() } useHotKey( 's', () => { setSettingState(old => { return { ...old, show: !old.show } }) }, {}, [] ) return ( Model File {isSD || isPaintByExample ? ( <> ) : ( )} {isSD ? <> : } { setSettingState(old => { return { ...old, enableFileManager: checked } }) }} > } optionDesc={
Image directory ) => { evt.preventDefault() evt.stopPropagation() const target = evt.target as HTMLInputElement setSettingState(old => { return { ...old, imageDirectory: target.value } }) }} />
Output directory ) => { evt.preventDefault() evt.stopPropagation() const target = evt.target as HTMLInputElement setSettingState(old => { return { ...old, outputDirectory: target.value } }) }} />
} />
) }