From 47def907b60fd91c5743eff33df9e324559958bb Mon Sep 17 00:00:00 2001
From: Tarna <158784522+TarnaWijaya@users.noreply.github.com>
Date: Sat, 1 Feb 2025 01:31:35 +0700
Subject: [PATCH] update main.js
---
main.js | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/main.js b/main.js
index e69de29..6f81eae 100644
--- a/main.js
+++ b/main.js
@@ -0,0 +1,81 @@
+const chatBox = document.getElementById('chat-box');
+const userInput = document.getElementById('user-input');
+const sendBtn = document.getElementById('send-btn');
+
+function addMessage(role, content) {
+ const messageDiv = document.createElement('div');
+ messageDiv.classList.add('message', role);
+
+ const img = document.createElement('img');
+ img.src = role === 'user' ? '../img/user.png' : '../img/ai.png';
+ img.alt = role === 'user' ? 'User' : 'Tarz Bots';
+
+ const contentDiv = document.createElement('div');
+ contentDiv.classList.add('message-content');
+ contentDiv.textContent = content;
+
+ const actionsDiv = document.createElement('div');
+ actionsDiv.classList.add('message-actions');
+ actionsDiv.innerHTML = `
+
+
+
+
+ `;
+
+ messageDiv.appendChild(img);
+ messageDiv.appendChild(contentDiv);
+ messageDiv.appendChild(actionsDiv);
+ chatBox.appendChild(messageDiv);
+ chatBox.scrollTop = chatBox.scrollHeight;
+}
+
+async function sendMessage() {
+ const userMessage = userInput.value.trim();
+ if (!userMessage) return;
+
+ addMessage('user', userMessage);
+ userInput.value = '';
+
+ try {
+ const response = await fetch('https://api.gemini.google.com/v1/chat', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Authorization': 'AIzaSyC0Cjd5U_kIM9tvqxfjjvQ_MlhabjtxA30'
+ },
+ body: JSON.stringify({ message: userMessage })
+ });
+
+ const data = await response.json();
+ addMessage('bot', data.response);
+ } catch (error) {
+ addMessage('bot', 'Maaf, terjadi kesalahan. Silakan coba lagi.');
+ }
+}
+
+function copyText(text) {
+ navigator.clipboard.writeText(text).then(() => {
+ alert('Teks berhasil disalin!');
+ });
+}
+
+function likeMessage() {
+ alert('Anda menyukai pesan ini!');
+}
+
+function dislikeMessage() {
+ alert('Anda tidak menyukai pesan ini!');
+}
+
+function editMessage() {
+ alert('Fitur edit belum tersedia.');
+}
+
+sendBtn.addEventListener('click', sendMessage);
+userInput.addEventListener('keypress', (e) => {
+ if (e.key === 'Enter' && !e.shiftKey) {
+ e.preventDefault();
+ sendMessage();
+ }
+});
\ No newline at end of file