Skip to content

Commit

Permalink
💬 Create ChatBubble, ChatInput components
Browse files Browse the repository at this point in the history
  • Loading branch information
hidragos committed Mar 22, 2023
1 parent cf6cf76 commit 86b0024
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 13 deletions.
14 changes: 7 additions & 7 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,7 @@ const App = () => {
const response = await axios.post(
`${config.apiUrl}`,
{
prompt:
'only respond to new message. previous messages: ' +
messages.map((msg) => msg.message).join(', ') +
', new message:' +
message,
prompt: 'only respond to new message. previous messages: ' + messages.map((msg) => msg.message).join(', ') + ', new message:' + message,
},
{
headers: {
Expand All @@ -43,8 +39,12 @@ const App = () => {

return (
<div className="app">
<ChatBubble></ChatBubble>
<ChatInput></ChatInput>
<div className="chat-container">
{messages.map((msg, index) => (
<ChatBubble key={index} message={msg.message} isUser={msg.isUser} />
))}
</div>
<ChatInput onSubmit={sendMessage} />
</div>
);
};
Expand Down
8 changes: 5 additions & 3 deletions src/components/ChatBubble.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import React from 'react';

const ChatBubble = () => {
const ChatBubble = ({ message, isUser }) => {
return (
<span> chat bubbles zone </span>
<div className={`chat-bubble ${isUser ? 'user' : 'chatgpt'}`}>
<p>{message}</p>
</div>
);
};

export default ChatBubble;
export default ChatBubble;
24 changes: 21 additions & 3 deletions src/components/ChatInput.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
import React from 'react';
import React, { useState } from 'react';

const ChatInput = ({ onSubmit }) => {
const [message, setMessage] = useState('');

const handleSubmit = (e) => {
e.preventDefault();
if (message.trim()) {
onSubmit(message);
setMessage('');
}
};

const ChatInput = () => {
return (
<span> chat input zone </span>
<form className="chat-input" onSubmit={handleSubmit}>
<input
type="text"
placeholder="Type your message..."
value={message}
onChange={(e) => setMessage(e.target.value)}
/>
<button type="submit">Send</button>
</form>
);
};

Expand Down

0 comments on commit 86b0024

Please sign in to comment.