"use client"; import type { AutoFormInputComponentProps } from "../ui/auto-form/types"; import { FormControl, FormDescription, FormItem, FormLabel, FormMessage, } from "../ui/form"; import { LoadingIcon } from "@/components/LoadingIcon"; // import { CaretSortIcon, CheckIcon } from "@radix-ui/react-icons"; import * as React from "react"; import { Suspense } from "react"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Textarea } from "@/components/ui/textarea"; import { CivitaiModelRegistry } from "./CivitaiModelRegistry"; import { ComfyUIManagerModelRegistry } from "./ComfyUIManagerModelRegistry"; import { Input } from "@/components/ui/input"; import { ModelList } from "@/components/custom-form/CivitalModelSchema"; import { z } from "zod"; export default function AutoFormModelsPickerUrl({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps) { return ( {fieldConfigItem.inputProps?.showLabel && ( {label} {isRequired && *} )} }> {fieldConfigItem.description && ( {fieldConfigItem.description} )} ); } function ModelPickerView({ field, fieldProps, }: Pick) { const customOverride = React.useMemo(() => { const customOnChange = (value: z.infer) => { const model = value[0]; field.onChange(model?.url); }; return { ...field, onChange: customOnChange, value: field.value ? [ { url: field.value, }, ] : [], }; }, [field]); return (
{ field.onChange(e.target.value); }} type="text" />
); }