diff --git a/docs/public/chat_mode.png b/docs/public/chat_mode.png index 4fd0658..8c6ac42 100644 Binary files a/docs/public/chat_mode.png and b/docs/public/chat_mode.png differ diff --git a/docs/public/email_mode.png b/docs/public/email_mode.png index 53e4cf1..7f116fd 100644 Binary files a/docs/public/email_mode.png and b/docs/public/email_mode.png differ diff --git a/examples/chat-demo-app/README.md b/examples/chat-demo-app/README.md index 6390182..e22f373 100644 --- a/examples/chat-demo-app/README.md +++ b/examples/chat-demo-app/README.md @@ -3,7 +3,7 @@ ### Overview The demo showcases the versatility of the Multi-Agent Orchestrator System through an interactive chat interface. Watch how the system seamlessly handles diverse queries using specialized agents: -![Demo Application](./img/demo-app.jpg) +![Demo Application](./img/chat-demo-app.png) ### Featured Agents Our demo showcases specialized agents, each designed for specific use cases: diff --git a/examples/chat-demo-app/img/chat-demo-app.png b/examples/chat-demo-app/img/chat-demo-app.png new file mode 100644 index 0000000..93e32a5 Binary files /dev/null and b/examples/chat-demo-app/img/chat-demo-app.png differ diff --git a/examples/chat-demo-app/img/demo-app.jpg b/examples/chat-demo-app/img/demo-app.jpg deleted file mode 100644 index 2aa8d65..0000000 Binary files a/examples/chat-demo-app/img/demo-app.jpg and /dev/null differ diff --git a/examples/ecommerce-support-simulator/img/chat_mode.png b/examples/ecommerce-support-simulator/img/chat_mode.png index 4fd0658..8c6ac42 100644 Binary files a/examples/ecommerce-support-simulator/img/chat_mode.png and b/examples/ecommerce-support-simulator/img/chat_mode.png differ diff --git a/examples/ecommerce-support-simulator/img/email_mode.png b/examples/ecommerce-support-simulator/img/email_mode.png index 53e4cf1..7f116fd 100644 Binary files a/examples/ecommerce-support-simulator/img/email_mode.png and b/examples/ecommerce-support-simulator/img/email_mode.png differ diff --git a/examples/ecommerce-support-simulator/resources/ui/src/components/ChatMode.tsx b/examples/ecommerce-support-simulator/resources/ui/src/components/ChatMode.tsx index f1e95c4..aa31556 100644 --- a/examples/ecommerce-support-simulator/resources/ui/src/components/ChatMode.tsx +++ b/examples/ecommerce-support-simulator/resources/ui/src/components/ChatMode.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useRef } from 'react'; import { Send } from 'lucide-react'; import ReactMarkdown from 'react-markdown'; import type { Message } from '../types'; - const ChatMode = ({ messages, customerMessage, @@ -46,20 +45,24 @@ const ChatMode = ({
-

{senderLabel}

+

+ {senderLabel} +

, - pre: ({node, ...props}) =>

+                pre: ({node, ...props}) => 
               }}
             >
               {msg.content}
             
-            

+

{new Date(msg.timestamp).toLocaleTimeString()}

@@ -71,6 +74,8 @@ const ChatMode = ({ const submitMessage = (e: React.FormEvent, isCustomer: boolean) => { e.preventDefault(); const message = isCustomer ? customerMessage : supportMessage; + if (!message.trim()) return; + const newMessage = { content: message, destination: isCustomer ? 'customer' : 'support', @@ -88,49 +93,64 @@ const ChatMode = ({ return (
-
- {/* Customer Chat */} -
-

Customer Chat

-
- {renderMessages(true)} +
+ {/* Customer Chat */} +
+

Customer Chat

+
+ {renderMessages(true)} +
+
submitMessage(e, true)} className="flex mt-auto"> + setCustomerMessage(e.target.value)} + className="flex-grow mr-2 p-2 rounded-lg border border-gray-200 focus:border-blue-500 focus:ring-2 focus:ring-blue-200 text-gray-900 placeholder-gray-500" + placeholder="Type a message..." + /> + +
-
submitMessage(e, true)} className="flex mt-auto"> - setCustomerMessage(e.target.value)} - className="flex-grow mr-2 p-2 rounded-lg" - placeholder="Type a message..." - /> - -
-
- {/* Support Chat */} -
-

Support Chat

-
- {renderMessages(false)} + + {/* Support Chat */} +
+

Support Chat

+
+ {renderMessages(false)} +
+
submitMessage(e, false)} className="flex mt-auto"> + setSupportMessage(e.target.value)} + className="flex-grow mr-2 p-2 rounded-lg border border-gray-200 focus:border-blue-500 focus:ring-2 focus:ring-blue-200 text-gray-900 placeholder-gray-500" + placeholder="Type a response..." + /> + +
-
submitMessage(e, false)} className="flex mt-auto"> - setSupportMessage(e.target.value)} - className="flex-grow mr-2 p-2 rounded-lg" - placeholder="Type a response..." - /> - -
-
); }; diff --git a/examples/ecommerce-support-simulator/resources/ui/src/components/EmailMode.tsx b/examples/ecommerce-support-simulator/resources/ui/src/components/EmailMode.tsx index e76ae58..ec9eb6f 100644 --- a/examples/ecommerce-support-simulator/resources/ui/src/components/EmailMode.tsx +++ b/examples/ecommerce-support-simulator/resources/ui/src/components/EmailMode.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { Send } from 'lucide-react'; - const EmailMode = ({ fromEmail, setFromEmail, @@ -46,26 +45,26 @@ const EmailMode = ({ return (
{/* Customer Email */} -
-

Customer Email

+
+

Customer Email

- + setFromEmail(e.target.value)} - className="w-full p-2 rounded-lg" + className="w-full p-2 rounded-lg border border-gray-200 focus:border-blue-500 focus:ring-2 focus:ring-blue-200" required />
- +
- +