(undefined);
@@ -55,7 +63,12 @@ export const Chat = ({ messages, waiting }: ChatProps) => {
/>
{messages.map((message, index) => (
-
+
))}
{chart &&

}
{waiting &&
}
diff --git a/frontend/src/components/message.module.css b/frontend/src/components/message.module.css
index 223576e0..6df39961 100644
--- a/frontend/src/components/message.module.css
+++ b/frontend/src/components/message.module.css
@@ -71,3 +71,10 @@
font-size: 16px;
white-space: pre-wrap;
}
+
+.selectMessage {
+ margin-left: 72px;
+ margin-bottom: 8px;
+ position: relative;
+ top: -4px;
+}
diff --git a/frontend/src/components/message.tsx b/frontend/src/components/message.tsx
index 40c970c5..ff830f96 100644
--- a/frontend/src/components/message.tsx
+++ b/frontend/src/components/message.tsx
@@ -4,6 +4,8 @@ import styles from './message.module.css';
import UserIcon from '../icons/account-circle.svg';
import BotIcon from '../icons/logomark.svg';
import ChevronIcon from '../icons/chevron.svg';
+import OpenGridIcon from '../icons/open-grid.svg';
+import { Button } from './button';
export enum Role {
User = 'User',
@@ -20,6 +22,8 @@ export interface Message {
export interface MessageProps {
message: Message;
+ selectedMessage: Message | null;
+ selectMessage: (message: Message | null) => void;
}
export interface MessageStyle {
@@ -38,7 +42,11 @@ const roleStyleMap: Record
= {
},
};
-export const MessageComponent = ({ message }: MessageProps) => {
+export const MessageComponent = ({
+ message,
+ selectMessage,
+ selectedMessage,
+}: MessageProps) => {
const { content, role, reasoning } = message;
const { class: roleClass, icon } = roleStyleMap[role];
@@ -51,6 +59,19 @@ export const MessageComponent = ({ message }: MessageProps) => {
{content}
+ {role == Role.Bot && false && (
+
+
+ )}
{role == Role.Bot && reasoning && (
<>
void;
resetMessages: () => void;
initSuggestions: () => void;
+ selectMessage: (message: Message | null) => void;
messages: Message[];
suggestions: string[];
waiting: boolean;
+ selectedMessage: Message | null;
}
export const useMessages = (): UseMessagesHook => {
const [waiting, setWaiting] = useState(false);
const [messages, setMessages] = useState([starterMessage]);
const [suggestions, setSuggestions] = useState([]);
+ const [selectedMessage, selectMessage] = useState(null);
const fetchSuggestions = useCallback(async () => {
const newSuggestions = await getSuggestions();
@@ -90,5 +93,7 @@ export const useMessages = (): UseMessagesHook => {
waiting,
resetMessages,
initSuggestions: fetchSuggestions,
+ selectedMessage,
+ selectMessage,
};
};