diff --git a/src/interface/web/app/page.tsx b/src/interface/web/app/page.tsx index d76542b7..0e163148 100644 --- a/src/interface/web/app/page.tsx +++ b/src/interface/web/app/page.tsx @@ -3,7 +3,7 @@ import "./globals.css"; import styles from "./page.module.css"; import "katex/dist/katex.min.css"; -import React, { useEffect, useRef, useState, useMemo } from "react"; +import React, { useEffect, useRef, useState } from "react"; import useSWR from "swr"; import { ArrowsVertical } from "@phosphor-icons/react"; @@ -48,9 +48,19 @@ import { SidebarInset, SidebarProvider, SidebarTrigger } from "@/components/ui/s import { AppSidebar } from "./components/appSidebar/appSidebar"; import { Separator } from "@/components/ui/separator"; import { KhojLogoType } from "./components/logo/khojLogo"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; import { Button } from "@/components/ui/button"; +const fetcher = (url: string) => + fetch(url) + .then((res) => res.json()) + .catch((err) => console.warn(err)); + interface ChatBodyDataProps { chatOptionsData: ChatOptions | null; onConversationIdChange?: (conversationId: string) => void; @@ -104,10 +114,11 @@ function AgentCards({ > openAgentEditCard(agent.slug)} onClick={() => { @@ -144,7 +155,7 @@ function AgentCards({ selectedChatModelOption="" agentSlug="" isSubscribed={isUserSubscribed(userConfig)} - setAgentChangeTriggered={() => { }} + setAgentChangeTriggered={() => {}} modelOptions={[]} inputToolOptions={{}} outputModeOptions={{}} @@ -199,12 +210,7 @@ function ChatBodyData(props: ChatBodyDataProps) { const onConversationIdChange = props.onConversationIdChange; - const agentsFetcher = () => - window - .fetch("/api/agents") - .then((res) => res.json()) - .catch((err) => console.log(err)); - const { data: agentsData, error } = useSWR("agents", agentsFetcher, { + const { data: agentsData, error } = useSWR("/api/agents", fetcher, { revalidateOnFocus: false, }); @@ -222,8 +228,8 @@ function ChatBodyData(props: ChatBodyDataProps) { today.getHours() >= 17 || today.getHours() < 4 ? "evening" : today.getHours() >= 12 - ? "afternoon" - : "morning"; + ? "afternoon" + : "morning"; const nameSuffix = props.userConfig?.given_name ? `, ${props.userConfig?.given_name}` : ""; const greetings = [ `What would you like to get done${nameSuffix}?`, @@ -354,7 +360,7 @@ function ChatBodyData(props: ChatBodyDataProps) { setUploadedFiles={props.setUploadedFiles} agentColor={agents.find((agent) => agent.slug === selectedAgent)?.color} ref={chatInputRef} - setTriggeredAbort={() => { }} + setTriggeredAbort={() => {}} /> )} @@ -438,21 +444,23 @@ function ChatBodyData(props: ChatBodyDataProps) { - - { + + {agentIcons.length > 0 ? ( agentIcons.map((icon, index) => ( )) - } + ) : ( + { + setSelectedAgent("khoj"); + chatInputRef.current?.focus(); + }} + > + {getIconFromIconName("Lightbulb", "orange")} Khoj + + )}
setMessage(message)} - sendImage={(image) => setImages((prevImages) => [...prevImages, image])} + sendImage={(image) => + setImages((prevImages) => [...prevImages, image]) + } sendDisabled={processingMessage} chatOptionsData={props.chatOptionsData} conversationId={null} isMobileWidth={props.isMobileWidth} setUploadedFiles={props.setUploadedFiles} - agentColor={agents.find((agent) => agent.slug === selectedAgent)?.color} + agentColor={ + agents.find((agent) => agent.slug === selectedAgent)?.color + } ref={chatInputRef} - setTriggeredAbort={() => { }} + setTriggeredAbort={() => {}} />