From d0ee696c1dac73d9a308c52b4691165dcfab4da9 Mon Sep 17 00:00:00 2001 From: Tetiana Mohorian Date: Tue, 22 Apr 2025 13:13:49 +0000 Subject: [PATCH] =?UTF-8?q?Nahr=C3=A1t=20soubory=20do=20=E2=80=9Esk1/front?= =?UTF-8?q?end/src/components=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sk1/frontend/src/components/ChatInput.jsx | 51 ++++++++++++++++++ .../components/ChatInput.jsxZone.Identifier | 2 + ...tInput.jsxZone.IdentifierZone.Identifier | Bin 0 -> 1024 bytes sk1/frontend/src/components/ChatWindow.jsx | 16 ++++++ .../components/ChatWindow.jsxZone.Identifier | 2 + ...Window.jsxZone.IdentifierZone.Identifier | Bin 0 -> 1024 bytes sk1/frontend/src/components/Footer.jsx | 20 +++++++ .../src/components/Footer.jsxZone.Identifier | 2 + ...Footer.jsxZone.IdentifierZone.Identifier | Bin 0 -> 1024 bytes sk1/frontend/src/components/Header.jsx | 9 ++++ .../src/components/Header.jsxZone.Identifier | 2 + ...Header.jsxZone.IdentifierZone.Identifier | Bin 0 -> 1024 bytes sk1/frontend/src/components/InfoBox.jsx | 34 ++++++++++++ .../components/InfoBox.jsxZone.Identifier | 2 + ...nfoBox.jsxZone.IdentifierZone.Identifier | Bin 0 -> 1024 bytes 15 files changed, 140 insertions(+) create mode 100644 sk1/frontend/src/components/ChatInput.jsx create mode 100644 sk1/frontend/src/components/ChatInput.jsxZone.Identifier create mode 100644 sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier create mode 100644 sk1/frontend/src/components/ChatWindow.jsx create mode 100644 sk1/frontend/src/components/ChatWindow.jsxZone.Identifier create mode 100644 sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier create mode 100644 sk1/frontend/src/components/Footer.jsx create mode 100644 sk1/frontend/src/components/Footer.jsxZone.Identifier create mode 100644 sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier create mode 100644 sk1/frontend/src/components/Header.jsx create mode 100644 sk1/frontend/src/components/Header.jsxZone.Identifier create mode 100644 sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier create mode 100644 sk1/frontend/src/components/InfoBox.jsx create mode 100644 sk1/frontend/src/components/InfoBox.jsxZone.Identifier create mode 100644 sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier diff --git a/sk1/frontend/src/components/ChatInput.jsx b/sk1/frontend/src/components/ChatInput.jsx new file mode 100644 index 0000000..7f88423 --- /dev/null +++ b/sk1/frontend/src/components/ChatInput.jsx @@ -0,0 +1,51 @@ +import React, { useState } from 'react'; +import { Send } from 'lucide-react'; + +const ChatInput = ({ onSubmit }) => { + const [input, setInput] = useState(''); + + const handleSubmit = async (e) => { + e.preventDefault(); + console.log("Formulár bol odoslaný!", input); // Добавили лог + if (input.trim()) { + try { + const response = await fetch("https://hate-backend-production.up.railway.app/api/predict", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ text: input }), + }); + const data = await response.json(); + //alert(`Výsledok analýzy: ${data.prediction}`); + + if (onSubmit) + { + onSubmit(input, data.prediction); + } + setInput(''); + } catch (error) { + console.error("Ошибка запроса:", error); + alert("Chyba pri analýze textu!"); + } + } + }; + + + return ( +
+
+ setInput(e.target.value)} + placeholder="Zadajte text na analýzu" + className="text-input" + /> + +
+
+ ); +}; + +export default ChatInput; diff --git a/sk1/frontend/src/components/ChatInput.jsxZone.Identifier b/sk1/frontend/src/components/ChatInput.jsxZone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/sk1/frontend/src/components/ChatInput.jsxZone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001 diff --git a/sk1/frontend/src/components/ChatWindow.jsx b/sk1/frontend/src/components/ChatWindow.jsx new file mode 100644 index 0000000..1bdd6c2 --- /dev/null +++ b/sk1/frontend/src/components/ChatWindow.jsx @@ -0,0 +1,16 @@ +import React from "react"; + + +const ChatWindow = ({ messages }) => { + return ( +
+ {messages.map((msg, index) => ( +
+ {msg.text} +
+ ))} +
+ ); +}; + +export default ChatWindow; diff --git a/sk1/frontend/src/components/ChatWindow.jsxZone.Identifier b/sk1/frontend/src/components/ChatWindow.jsxZone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/sk1/frontend/src/components/ChatWindow.jsxZone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001 diff --git a/sk1/frontend/src/components/Footer.jsx b/sk1/frontend/src/components/Footer.jsx new file mode 100644 index 0000000..b829488 --- /dev/null +++ b/sk1/frontend/src/components/Footer.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { FaTelegram, FaGooglePlay } from 'react-icons/fa'; + +const Footer = () => { + return ( + + ); +}; + +export default Footer; diff --git a/sk1/frontend/src/components/Footer.jsxZone.Identifier b/sk1/frontend/src/components/Footer.jsxZone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/sk1/frontend/src/components/Footer.jsxZone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001 diff --git a/sk1/frontend/src/components/Header.jsx b/sk1/frontend/src/components/Header.jsx new file mode 100644 index 0000000..83606e7 --- /dev/null +++ b/sk1/frontend/src/components/Header.jsx @@ -0,0 +1,9 @@ +import React from 'react'; + +const Header = () => ( +
+

Detektor nenávistného jazyka

+
+); + +export default Header; diff --git a/sk1/frontend/src/components/Header.jsxZone.Identifier b/sk1/frontend/src/components/Header.jsxZone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/sk1/frontend/src/components/Header.jsxZone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001 diff --git a/sk1/frontend/src/components/InfoBox.jsx b/sk1/frontend/src/components/InfoBox.jsx new file mode 100644 index 0000000..7e67568 --- /dev/null +++ b/sk1/frontend/src/components/InfoBox.jsx @@ -0,0 +1,34 @@ +import React, { useState } from 'react'; +import ChatInput from './ChatInput.jsx'; + +const InfoBox = () => { + + + + const [headerText, setHeaderText] = useState('Analyzujte text na nenávistný jazyk'); + const [paragraphText, setParagraphText] = useState('Tento nástroj využíva umelú inteligenciu na identifikáciu toxického obsahu v textoch. Stačí zadať text a zistiť, či obsahuje nenávistný jazyk.'); + + const handleSendMessage = (userMessage, serverResponse) => { + console.log('Отправлено сообщение:', userMessage); + console.log('Ответ от сервера:', serverResponse); + + setHeaderText(serverResponse); // В заголовок пишем ответ от сервера + setParagraphText(`Váš text bol: "${userMessage}"`);// В параграф пишем сообщение пользователя + }; + + + return ( + + + +
+

{headerText}

+

{paragraphText}

+ + {} + +
+); +} + +export default InfoBox; diff --git a/sk1/frontend/src/components/InfoBox.jsxZone.Identifier b/sk1/frontend/src/components/InfoBox.jsxZone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/sk1/frontend/src/components/InfoBox.jsxZone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001