import { route } from '@/constants/routes' import { useModelProvider } from '@/hooks/useModelProvider' import { cn, getProviderLogo, getProviderTitle } from '@/lib/utils' import { useNavigate, useMatches, Link } from '@tanstack/react-router' import { IconArrowLeft, IconCirclePlus } from '@tabler/icons-react' import { Dialog, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog' import { Input } from '@/components/ui/input' import { Button } from '@/components/ui/button' import { useCallback, useState } from 'react' import { openAIProviderSettings } from '@/mock/data' const ProvidersMenu = ({ stepSetupRemoteProvider, }: { stepSetupRemoteProvider: boolean }) => { const { providers, addProvider } = useModelProvider() const navigate = useNavigate() const matches = useMatches() const [name, setName] = useState('') const createProvider = useCallback(() => { addProvider({ provider: name, active: true, models: [], settings: openAIProviderSettings as ProviderSetting[], api_key: '', base_url: 'https://api.openai.com/v1', }) setTimeout(() => { navigate({ to: route.settings.providers, params: { providerName: name, }, }) }, 0) }, [name, addProvider, navigate]) return (