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 (
+
+
+
+ );
+};
+
+export default ChatInput;
diff --git a/sk1/frontend/src/components/ChatInput.jsxZone.Identifier b/sk1/frontend/src/components/ChatInput.jsxZone.Identifier
new file mode 100644
index 0000000..a45e1ac
--- /dev/null
+++ b/sk1/frontend/src/components/ChatInput.jsxZone.Identifier
@@ -0,0 +1,2 @@
+[ZoneTransfer]
+ZoneId=3
diff --git a/sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/sk1/frontend/src/components/ChatInput.jsxZone.IdentifierZone.Identifier differ
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.jsxZone.Identifier b/sk1/frontend/src/components/ChatWindow.jsxZone.Identifier
new file mode 100644
index 0000000..a45e1ac
--- /dev/null
+++ b/sk1/frontend/src/components/ChatWindow.jsxZone.Identifier
@@ -0,0 +1,2 @@
+[ZoneTransfer]
+ZoneId=3
diff --git a/sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/sk1/frontend/src/components/ChatWindow.jsxZone.IdentifierZone.Identifier differ
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.jsxZone.Identifier b/sk1/frontend/src/components/Footer.jsxZone.Identifier
new file mode 100644
index 0000000..a45e1ac
--- /dev/null
+++ b/sk1/frontend/src/components/Footer.jsxZone.Identifier
@@ -0,0 +1,2 @@
+[ZoneTransfer]
+ZoneId=3
diff --git a/sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/sk1/frontend/src/components/Footer.jsxZone.IdentifierZone.Identifier differ
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.jsxZone.Identifier b/sk1/frontend/src/components/Header.jsxZone.Identifier
new file mode 100644
index 0000000..a45e1ac
--- /dev/null
+++ b/sk1/frontend/src/components/Header.jsxZone.Identifier
@@ -0,0 +1,2 @@
+[ZoneTransfer]
+ZoneId=3
diff --git a/sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/sk1/frontend/src/components/Header.jsxZone.IdentifierZone.Identifier differ
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.jsxZone.Identifier b/sk1/frontend/src/components/InfoBox.jsxZone.Identifier
new file mode 100644
index 0000000..a45e1ac
--- /dev/null
+++ b/sk1/frontend/src/components/InfoBox.jsxZone.Identifier
@@ -0,0 +1,2 @@
+[ZoneTransfer]
+ZoneId=3
diff --git a/sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier b/sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/sk1/frontend/src/components/InfoBox.jsxZone.IdentifierZone.Identifier differ