feat: adding gemini stuff

This commit is contained in:
devaine 2025-10-18 23:23:11 -05:00
commit 76cb0e0536
No known key found for this signature in database
GPG key ID: 4BA6E50E8768348F
4 changed files with 44 additions and 24 deletions

View file

@ -3,6 +3,20 @@ import ChatHeader from "src/components/ui/chat/chat-header";
import ChatWindow from "src/components/ui/chat/chat-window";
import MessageInput from "src/components/ui/chat/message-input";
import { GoogleGenAI } from "@google/genai"
const ai = new GoogleGenAI({ apiKey: import.meta.env.GEMINI_API_KEY })
async function AIRepsponse(userInputArray) {
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: userInputArray
})
return response.text
}
let userInput = []
export default function ChatLayout() {
const [messages, setMessages] = useState([
{
@ -11,15 +25,17 @@ export default function ChatLayout() {
},
]);
function handleSend(text) {
async function handleSend(text) {
userInput.push(text)
const res = await AIRepsponse(userInput)
const userMsg = { role: "user", content: text };
setMessages((s) => [...s, userMsg]);
// fake assistant reply after short delay
setTimeout(() => {
setMessages((s) => [
...s,
{ role: "assistant", content: `You said: ${text}` },
{ role: "assistant", content: res },
]);
}, 600);
}