import { useQuery } from "@tanstack/react-query" import { useEffect, useState } from "react" import { useMessage } from "~hooks/useMessage" import { RotateCcw } from "~icons/RotateCcw" import { fetchChatModels, getOllamaURL, isOllamaRunning, setOllamaURL as saveOllamaURL } from "~services/ollama" export const EmptySidePanel = () => { const [ollamaURL, setOllamaURL] = useState("") const { data: ollamaInfo, status: ollamaStatus, refetch, isRefetching } = useQuery({ queryKey: ["ollamaStatus"], queryFn: async () => { const ollamaURL = await getOllamaURL() const isOk = await isOllamaRunning() const models = await fetchChatModels() return { isOk, models, ollamaURL } } }) useEffect(() => { if (ollamaInfo?.ollamaURL) { setOllamaURL(ollamaInfo.ollamaURL) } }, [ollamaInfo]) const { setSelectedModel, selectedModel, chatMode, setChatMode } = useMessage() return (
{(ollamaStatus === "pending" || isRefetching) && (

Searching for your Ollama 🦙

)} {!isRefetching && ollamaStatus === "success" ? ( ollamaInfo.isOk ? (

Ollama is running 🦙

) : (

We couldn't find your Ollama 🦙

setOllamaURL(e.target.value)} />
) ) : null} {ollamaStatus === "success" && ollamaInfo.isOk && (

Models:

)}
) }