import React, { useState, useEffect, useRef } from "react"; export default function ModelInputBar({ loading, fetchModelStructure }) { // Single selection: user can pick one of several fetch options const options = [ { label: "Not Sure", value: "none", default: "deepseek-ai/DeepSeek-V3.1" }, { label: "Causal Language Models (e.g. GPT, LLaMA, Phi, Mistral)", value: "causal", default: "gpt2"}, { label: "Masked Language Models (BERT, RoBERTa, DistilBERT)", value: "masked", default: "google-bert/bert-base-uncased" }, { label: "Sequence Classification (text classification, sentiment analysis)", value: "sequence", default: "distilbert-base-uncased" }, { label: "Token Classification (NER, POS tagging)", value: "token", default: "dbmdz/bert-large-cased-finetuned-conll03-english" }, { label: "Question Answering Models (e.g. BERT QA, RoBERTa QA)", value: "qa", default: "distilbert-base-uncased-distilled-squad" }, { label: "Seq2Seq (encoder-decoder, e.g. T5, BART, MarianMT)", value: "s2s", default: "t5-base" }, { label: "Vision models (image classification, CLIP vision tower, etc.)", value: "vision", default: "google/vit-base-patch16-224" }, { label: "Vision-Language models (image-text models, Qwen-VL, etc.)", value: "vlm", default: "Qwen/Qwen3-VL-8B-Instruct" }, ]; const [modelName, setModelName] = useState(""); const [selectedOption, setSelectedOption] = useState(options[0].value); const [placeholder, setPlaceholder] = useState(options[0].default); const handleFetch = () => { const name = modelName && modelName !== "" ? modelName : placeholder; fetchModelStructure(name, selectedOption); }; const handelRadioChange = (e) => { setSelectedOption(e.target.value); const opt = options.find((o) => o.value === e.target.value); if (opt) { setPlaceholder(opt.default); } } return (