import IP from "@/assets/icons/svg/ip.svg"; import { ThemedText } from "@/components/ThemedText"; import { getWebSocketManager } from "@/lib/websocket-util"; import { Message } from "@/types/ask"; import { Dispatch, SetStateAction } from "react"; import { useTranslation } from "react-i18next"; import { ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; import { createNewConversation } from "./utils"; interface AskHelloProps { setUserMessages: Dispatch>; setConversationId: Dispatch>; setIsHello: Dispatch>; } export default function AskHello({ setUserMessages, setConversationId, setIsHello }: AskHelloProps) { const { t } = useTranslation(); const handleCase = async (text: string) => { setIsHello(false); setUserMessages([ { id: Math.random().toString(36).substring(2, 9), content: text, role: 'user', timestamp: new Date().toISOString() }, { id: Math.random().toString(36).substring(2, 9), content: "keepSearchIng", role: 'assistant', timestamp: new Date().toISOString() } ]); const sessionId = await createNewConversation(text); if (sessionId) { setConversationId(sessionId); const webSocketManager = getWebSocketManager(); webSocketManager.send({ type: 'Chat', session_id: sessionId, message: text }); } else { console.error("Failed to create a new conversation."); setUserMessages(prev => prev.filter(item => item.content !== 'keepSearchIng')); } } return ( {t('ask.hi', { ns: 'ask' })} {"\n"} {t('ask.iAmMemo', { ns: 'ask' })} {t('ask.ready', { ns: 'ask' })} {"\n"} {t('ask.justAsk', { ns: 'ask' })} { handleCase(t('ask:ask.case1')); }}> {t('ask:ask.case1')} { handleCase(t('ask:ask.case2')); }}> {t('ask:ask.case2')} { handleCase(t('ask:ask.case3')); }}> {t('ask:ask.case3')} ); } const styles = StyleSheet.create({ caseContainer: { flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'center', gap: 8, width: '100%', marginTop: 16 }, case: { borderWidth: 2, borderColor: "#FFB645", borderRadius: 24, paddingHorizontal: 8, width: 'auto' } })