import ConnectionImage from "./DatabaseDialectImage"; import { useState } from "react"; import { IConnection, IConversation } from "../Library/types"; import { Cog6ToothIcon } from "@heroicons/react/24/outline"; import { useCreateConversation, useGetConnections } from "@/hooks"; import { Link, useNavigate } from "@tanstack/react-router"; export const ConnectionSelector = () => { const navigate = useNavigate(); const [, setConversation] = useState(); const { data } = useGetConnections(); const createConnection = () => { navigate({ to: "/connection/new" }); }; const { mutate } = useCreateConversation({ onSuccess(resp) { setConversation({ id: resp.data.id, name: "Untitled chat", }); navigate({ to: "/chat/$conversationId", params: { conversationId: resp.data.id }, }); }, }); function selectConnection(connection: IConnection) { mutate({ id: connection.id, name: "Untitled chat" }); } return (
Select a connection
{data?.connections?.map((connection) => (
selectConnection(connection)} >
{connection.dialect.charAt(0).toUpperCase() + connection.dialect.slice(1)}
{connection.name}
{/** ------ Connection Settings ------ */}
{ e.stopPropagation(); // Prevent the click event from propagating to the parent container }} className="flex-none group w-10 h-10 p-1 flex justify-end items-end hover:bg-gray-600 rounded-md duration-100 transition-colors " >
))}
{/* Item to add new connection */}
Add
New Connection
); };