Skip to content

Commit 3a28d01

Browse files
committed
distinguish more message types by icon
1 parent 99a6ba8 commit 3a28d01

File tree

3 files changed

+25
-27
lines changed

3 files changed

+25
-27
lines changed

frontend/src/App.tsx

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ function App() {
4242
Array.from([
4343
{
4444
text: "Hello! I'm a GPT Code assistant. Ask me to do something for you! Pro tip: you can upload a file and I'll be able to use it.",
45-
role: "system",
45+
role: "generator",
4646
type: "message",
4747
},
4848
{
4949
text: "If I get stuck just type 'reset' and I'll restart the kernel.",
50-
role: "system",
50+
role: "generator",
5151
type: "message",
5252
},
5353
])
@@ -77,11 +77,7 @@ function App() {
7777

7878
const handleCommand = (command: string) => {
7979
if (command == "reset") {
80-
addMessage({
81-
text: "Restarting the kernel.",
82-
type: "message",
83-
role: "system",
84-
});
80+
addMessage({ text: "Restarting the kernel.", type: "message", role: "system" });
8581

8682
fetch(`${Config.API_ADDRESS}/restart`, {
8783
method: "POST",
@@ -126,8 +122,7 @@ function App() {
126122
const data = await response.json();
127123
const code = data.code;
128124

129-
addMessage({ text: code, type: "code", role: "system" });
130-
addMessage({ text: data.text, type: "message", role: "system" });
125+
addMessage({ text: data.text, type: "message", role: "generator" });
131126

132127
if (response.status != 200) {
133128
setWaitingForSystem(WaitingStates.Idle);
@@ -162,12 +157,7 @@ function App() {
162157
}
163158

164159
function completeUpload(message: string) {
165-
addMessage({
166-
text: message,
167-
type: "message",
168-
role: "system",
169-
});
170-
160+
addMessage({ text: message, type: "message", role: "upload" });
171161
setWaitingForSystem(WaitingStates.Idle);
172162

173163
// Inform prompt server

frontend/src/components/Chat.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
div.message.generator {
2+
background: rgba(247,247,248);
3+
}
4+
15
div.message.system {
26
background: rgba(247,247,248);
37
}
@@ -20,6 +24,10 @@ div.avatar svg {
2024
overflow-x: hidden;
2125
}
2226

27+
div.message.generator div.avatar {
28+
background: #74a89b;
29+
}
30+
2331
div.message.system div.avatar {
2432
background: #74a89b;
2533
}

frontend/src/components/Chat.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import "./Chat.css";
22

33
import VoiceChatIcon from "@mui/icons-material/VoiceChat";
44
import PersonIcon from "@mui/icons-material/Person";
5+
import TerminalIcon from '@mui/icons-material/Terminal';
6+
import FileUploadIcon from '@mui/icons-material/FileUpload';
57
import { MessageDict } from "../App";
68

79
import remarkGfm from 'remark-gfm';
@@ -20,25 +22,23 @@ function Message(props: {
2022
const isMarkdown = (input: string) => {
2123
const mdRegex = /\[.*\]\(.*\)|\*\*.*\*\*|__.*__|\#.*|\!\[.*\]\(.*\)|`.*`|\- .*|\|.*\|/g;
2224
return mdRegex.test(input);
23-
}
25+
};
26+
27+
let ICONS = {
28+
"upload": <FileUploadIcon />,
29+
"generator": <VoiceChatIcon />,
30+
"system": <TerminalIcon />,
31+
"user": <PersonIcon />,
32+
};
2433

2534
return (
26-
<div className={"message " + (role == "system" ? "system" : "user")}>
35+
<div className={"message " + role}>
2736
<div className="avatar-holder">
2837
<div className="avatar">
29-
{role == "system" ? <VoiceChatIcon /> : <PersonIcon />}
38+
{ ICONS[role as keyof typeof ICONS] }
3039
</div>
3140
</div>
3241
<div className="message-body">
33-
{props.type == "code" && (
34-
<div>
35-
I generated the following code:
36-
<SyntaxHighlighter wrapLongLines={true} language="python">
37-
{text}
38-
</SyntaxHighlighter>
39-
</div>
40-
)}
41-
4242
{props.type == "message" &&
4343
(props.showLoader ? (
4444
<div>

0 commit comments

Comments
 (0)