import { FormSection } from '@/components/forms/FormSection' import { getDefaultSettingsState, useSettings } from '@/services/settings' import { FormInput } from '../forms/FormInput' import { ComputeProvider } from '@aitube/clapper-services' import { availableComputeProvidersForImages, computeProviderShortNames, } from './constants' import { FormSelect } from '../forms/FormSelect' export function SettingsSectionImage() { const defaultSettings = getDefaultSettingsState() const imageProvider = useSettings((s) => s.imageProvider) const setImageProvider = useSettings((s) => s.setImageProvider) /* to deprecate I think - or replace by defaultHuggingFaceModelForXXXX const huggingFaceModelForImage = useSettings(s => s.huggingFaceModelForImage) const setHuggingFaceModelForImage = useSettings(s => s.setHuggingFaceModelForImage) const replicateModelForImage = useSettings(s => s.replicateModelForImage) const setReplicateModelForImage = useSettings(s => s.setReplicateModelForImage) const falAiModelForImage = useSettings(s => s.falAiModelForImage) const setFalAiModelForImage = useSettings(s => s.setFalAiModelForImage) const modelsLabModelForImage = useSettings(s => s.modelsLabModelForImage) const setModelsLabModelForImage = useSettings(s => s.setModelsLabModelForImage) */ const imagePromptPrefix = useSettings((s) => s.imagePromptPrefix) const setImagePromptPrefix = useSettings((s) => s.setImagePromptPrefix) const imagePromptSuffix = useSettings((s) => s.imagePromptSuffix) const setImagePromptSuffix = useSettings((s) => s.setImagePromptSuffix) const imageNegativePrompt = useSettings((s) => s.imageNegativePrompt) const setImageNegativePrompt = useSettings((s) => s.setImageNegativePrompt) const maxImagesToGenerateInParallel = useSettings( (s) => s.maxImagesToGenerateInParallel ) const setMaxImagesToGenerateInParallel = useSettings( (s) => s.setMaxImagesToGenerateInParallel ) const comfyWorkflowForImage = useSettings((s) => s.comfyWorkflowForImage) const setComfyWorkflowForImage = useSettings( (s) => s.setComfyWorkflowForImage ) return (
label="Image provider" selectedItemId={imageProvider} selectedItemLabel={ computeProviderShortNames[imageProvider] || ComputeProvider.NONE } items={availableComputeProvidersForImages.map((provider) => ({ id: provider, label: computeProviderShortNames[provider] || '(missing name)', disabled: false, value: provider, }))} onSelect={setImageProvider} horizontal /> { imageProvider.startsWith('COMFY_') ? ( <> ) : // "proprietary" parameters null /* <> {imageProvider === ComputeProvider.HUGGINGFACE && } {imageProvider === ComputeProvider.REPLICATE && } {imageProvider === ComputeProvider.FALAI && } {imageProvider === ComputeProvider.MODELSLAB && } */ }
) }