Spaces:
Paused
Paused
matt HOFFNER
commited on
Commit
·
6bd9e2b
1
Parent(s):
5b465ac
fixing redundant message firing
Browse files
components/Playground/index.tsx
CHANGED
@@ -18,7 +18,14 @@ import { SendIcon } from "../../constants/icon";
|
|
18 |
import ReactMarkdown from "react-markdown";
|
19 |
import { ChatRequestOptions } from "ai";
|
20 |
|
21 |
-
const DEFAULT_PROMPT =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
const Playground = () => {
|
24 |
const dispatch = useAppDispatch();
|
@@ -63,20 +70,22 @@ const Playground = () => {
|
|
63 |
const modifiedHandleSubmit = async (e: React.FormEvent<HTMLFormElement>, chatRequestOptions?: ChatRequestOptions) => {
|
64 |
e.preventDefault();
|
65 |
|
66 |
-
if (messages.length === 0
|
67 |
const systemMessageToAdd: Message = {
|
68 |
id: `${Date.now()}-system`,
|
69 |
createdAt: new Date(),
|
70 |
content: systemMessage,
|
71 |
role: "system"
|
72 |
};
|
73 |
-
|
74 |
await append(systemMessageToAdd);
|
75 |
-
} else {
|
76 |
-
handleSubmit(e, chatRequestOptions);
|
77 |
}
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
80 |
useEffect(() => {
|
81 |
if (!esbuildStatus.isReady) {
|
82 |
dispatch(initEsbuild());
|
|
|
18 |
import ReactMarkdown from "react-markdown";
|
19 |
import { ChatRequestOptions } from "ai";
|
20 |
|
21 |
+
const DEFAULT_PROMPT = `
|
22 |
+
You are assisting in a WASM-powered live editor, Codetree, where React code is instantly reflected in the browser. Generate React code with the following constraints:
|
23 |
+
1. All logic should be encapsulated within a single app component file.
|
24 |
+
2. External dependencies or imports outside of the React core are not permitted.
|
25 |
+
3. Always use inline styles for styling.
|
26 |
+
4. Code snippets should conclude with rendering to the DOM's root element: ReactDOM.render(<App />, document.getElementById('root'));
|
27 |
+
5. Ensure the code is optimized for a live browser environment and adheres strictly to React best practices.
|
28 |
+
`;
|
29 |
|
30 |
const Playground = () => {
|
31 |
const dispatch = useAppDispatch();
|
|
|
70 |
const modifiedHandleSubmit = async (e: React.FormEvent<HTMLFormElement>, chatRequestOptions?: ChatRequestOptions) => {
|
71 |
e.preventDefault();
|
72 |
|
73 |
+
if (messages.length === 0) {
|
74 |
const systemMessageToAdd: Message = {
|
75 |
id: `${Date.now()}-system`,
|
76 |
createdAt: new Date(),
|
77 |
content: systemMessage,
|
78 |
role: "system"
|
79 |
};
|
|
|
80 |
await append(systemMessageToAdd);
|
|
|
|
|
81 |
}
|
82 |
+
if (messages.length === 1 && messages[0].role === "system") {
|
83 |
+
await handleSubmit(e, chatRequestOptions);
|
84 |
+
}
|
85 |
+
if (messages.length > 1) {
|
86 |
+
await handleSubmit(e, chatRequestOptions);
|
87 |
+
}
|
88 |
+
}
|
89 |
useEffect(() => {
|
90 |
if (!esbuildStatus.isReady) {
|
91 |
dispatch(initEsbuild());
|