'use client'import{useCallback,useMemo,useState}from'react'import{SuperinterfaceProvider,Thread,AssistantProvider,ComponentsProvider,MessageGroupasSuperinterfaceMessageGroup,useCreateMessage,}from'@superinterface/react'importtype{MessageGroupasMessageGroupType}from'@superinterface/react/types'import{Theme,Flex,Button,Container}from'@radix-ui/themes'import'@radix-ui/themes/styles.css'import{QueryClient,QueryClientProvider}from'@tanstack/react-query'constqueryClient=newQueryClient({defaultOptions:{queries:{staleTime:10000,},},})constCreateHiddenMessageButton=()=>{const{isPending,createMessage}=useCreateMessage()constonClick=useCallback(()=>{createMessage({content:'<Hidden>Tell me a joke about hidden things.</Hidden>',})},[createMessage])return(<ButtononClick={onClick}loading={isPending}>Createahiddenmessage</Button>)}constMessageGroup=({messageGroup}:{messageGroup:MessageGroupType})=>{constisHidden=useMemo(()=>messageGroup.messages.some((message)=>(message.content??[]).some((content)=>{if(content.type!=='text')returnfalsereturncontent.text.value.includes('<Hidden>')}),),[messageGroup],)if(isHidden){returnnull}if(messageGroup.role==='assistant'){return(<Flexjustify="center"pb="4"><Containersize="2"flexShrink="1"><Flexp="2"style={{backgroundColor:'var(--gray-10)',borderRadius:'var(--radius-5)',color:'var(--gray-1)',marginRight:'calc(var(--space-9) * 2)',}}><SuperinterfaceMessageGroup.MessagesmessageGroup={messageGroup}/></Flex></Container></Flex>)}elseif(messageGroup.role==='user'){return(<Flexjustify="center"pb="4"><Containersize="2"flexShrink="1"><Flexp="2"style={{backgroundColor:'var(--blue-11)',borderRadius:'var(--radius-5)',color:'var(--gray-1)',marginLeft:'calc(var(--space-9) * 2)',}}><SuperinterfaceMessageGroup.MessagesmessageGroup={messageGroup}/></Flex></Container></Flex>)}}exportdefaultfunctionPage(){const[threadId,setThreadId]=useState<string|null>(null)return(<QueryClientProviderclient={queryClient}><ThemeaccentColor="blue"grayColor="gray"appearance="light"radius="medium"scaling="100%"><SuperinterfaceProvidervariables={{publicApiKey:'18d58cdd-96bc-4d01-ab21-1a891a4fd49e',assistantId:'124200a9-23e6-4114-b0ce-b001a368a931',}}threadIdStorageOptions={{get:()=>threadId,set:({threadId:newThreadId})=>setThreadId(newThreadId),remove:()=>setThreadId(null),}}><ComponentsProvidercomponents={{MessageGroup,}}><AssistantProvider><FlexflexGrow="1"height="100dvh"p="5"><Thread.Root><Thread.Messages/><Thread.MessageForm.Root><Thread.MessageForm.Field.Root><Thread.MessageForm.Field.Control/><Thread.MessageForm.Submit.Rootstyle={{gap:'var(--space-2)',}}><CreateHiddenMessageButton/><Thread.MessageForm.Submit.Button/></Thread.MessageForm.Submit.Root></Thread.MessageForm.Field.Root></Thread.MessageForm.Root></Thread.Root></Flex></AssistantProvider></ComponentsProvider></SuperinterfaceProvider></Theme></QueryClientProvider>)}