import { ReactNode } from 'react' import { FormSection } from '@/components/forms/FormSection' import { getDefaultSettingsState, useSettings } from '@/services/settings' import { ComfyIcuAccelerator } from '@aitube/clapper-services' import { APP_NAME } from '@/lib/core/constants' import { availableComfyIcuAccelerators } from './constants' import { FormSelect } from '../forms/FormSelect' import { FormInput } from '../forms/FormInput' import { useUI } from '@/services/ui' import { FormSwitch } from '../forms/FormSwitch' function GetItHere({ href, children }: { href: string; children: ReactNode }) { return ( {children} ( get one ) ) } export function SettingsSectionProvider() { const defaultSettings = getDefaultSettingsState() const showApiKeys = useUI((s) => s.showApiKeys) const setShowApiKeys = useUI((s) => s.setShowApiKeys) const replicateApiKey = useSettings((s) => s.replicateApiKey) const setReplicateApiKey = useSettings((s) => s.setReplicateApiKey) const comfyIcuApiKey = useSettings((s) => s.comfyIcuApiKey) const setComfyIcuApiKey = useSettings((s) => s.setComfyIcuApiKey) const comfyIcuAccelerator = useSettings((s) => s.comfyIcuAccelerator) const setComfyIcuAccelerator = useSettings((s) => s.setComfyIcuAccelerator) const huggingFaceApiKey = useSettings((s) => s.huggingFaceApiKey) const setHuggingFaceApiKey = useSettings((s) => s.setHuggingFaceApiKey) const falAiApiKey = useSettings((s) => s.falAiApiKey) const setFalAiApiKey = useSettings((s) => s.setFalAiApiKey) const modelsLabApiKey = useSettings((s) => s.modelsLabApiKey) const setModelsLabApiKey = useSettings((s) => s.setModelsLabApiKey) const openaiApiKey = useSettings((s) => s.openaiApiKey) const setOpenaiApiKey = useSettings((s) => s.setOpenaiApiKey) const groqApiKey = useSettings((s) => s.groqApiKey) const setGroqApiKey = useSettings((s) => s.setGroqApiKey) const googleApiKey = useSettings((s) => s.googleApiKey) const setGoogleApiKey = useSettings((s) => s.setGoogleApiKey) const anthropicApiKey = useSettings((s) => s.anthropicApiKey) const setAnthropicApiKey = useSettings((s) => s.setAnthropicApiKey) const cohereApiKey = useSettings((s) => s.cohereApiKey) const setCohereApiKey = useSettings((s) => s.setCohereApiKey) const mistralAiApiKey = useSettings((s) => s.mistralAiApiKey) const setMistralAiApiKey = useSettings((s) => s.setMistralAiApiKey) const stabilityAiApiKey = useSettings((s) => s.stabilityAiApiKey) const setStabilityAiApiKey = useSettings((s) => s.setStabilityAiApiKey) const elevenLabsApiKey = useSettings((s) => s.elevenLabsApiKey) const setElevenLabsApiKey = useSettings((s) => s.setElevenLabsApiKey) const kitsAiApiKey = useSettings((s) => s.kitsAiApiKey) const setKitsAiApiKey = useSettings((s) => s.setKitsAiApiKey) const apiKeyType = showApiKeys ? 'text' : 'password' return (
Note: preferences and credentials are stored inside your browser local
storage.
{APP_NAME} uses them to perform API calls on your behalf, but forgets
them immediately.