From 8fd2cbc50703221b5bdc2c3cdd040dffd11839b3 Mon Sep 17 00:00:00 2001 From: Pavol Hejny Date: Sat, 9 Sep 2023 13:58:08 +0200 Subject: [PATCH 01/43] Draft of chat+voice --- src/pages/test/chat+voice.tsx | 24 ++++++++++++++++++++++++ src/pages/test/chat.tsx | 30 ++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/pages/test/chat+voice.tsx create mode 100644 src/pages/test/chat.tsx diff --git a/src/pages/test/chat+voice.tsx b/src/pages/test/chat+voice.tsx new file mode 100644 index 0000000000..21bdf50177 --- /dev/null +++ b/src/pages/test/chat+voice.tsx @@ -0,0 +1,24 @@ +import { useEffect, useState } from 'react'; +import { StaticLayout } from '../../components/StaticLayout/StaticLayout'; +import { joinTasksProgress } from '../../components/TaskInProgress/task/joinTasksProgress'; +import { mockedMultitask } from '../../components/TaskInProgress/task/mock/mockedMultitask'; +import { TaskProgress } from '../../components/TaskInProgress/task/TaskProgress'; + +export default function TestVoiceWithChatPage() { + const [tasksProgress, setTasksProgress] = useState>([]); + useEffect( + () => { + /* not await */ mockedMultitask((newTaskProgress) => + setTasksProgress((tasksProgress) => joinTasksProgress(...tasksProgress, newTaskProgress)), + ); + + let utterance = new SpeechSynthesisUtterance('Hello world!'); + speechSynthesis.speak(utterance); + }, + [ + // Note: Run just once + ], + ); + + return Speech TODO: !!!; +} diff --git a/src/pages/test/chat.tsx b/src/pages/test/chat.tsx new file mode 100644 index 0000000000..765fc4c900 --- /dev/null +++ b/src/pages/test/chat.tsx @@ -0,0 +1,30 @@ +import { useEffect, useState } from 'react'; +import { StaticAppHead } from '../../components/AppHead/StaticAppHead'; +import { StaticLayout } from '../../components/StaticLayout/StaticLayout'; +import { joinTasksProgress } from '../../components/TaskInProgress/task/joinTasksProgress'; +import { mockedMultitask } from '../../components/TaskInProgress/task/mock/mockedMultitask'; +import { TaskProgress } from '../../components/TaskInProgress/task/TaskProgress'; + +export default function TestVoicePage() { + const [tasksProgress, setTasksProgress] = useState>([]); + useEffect( + () => { + /* not await */ mockedMultitask((newTaskProgress) => + setTasksProgress((tasksProgress) => joinTasksProgress(...tasksProgress, newTaskProgress)), + ); + + let utterance = new SpeechSynthesisUtterance('Hello world!'); + speechSynthesis.speak(utterance); + }, + [ + // Note: Run just once + ], + ); + + return ( + + + TODO !!! + + ); +} From 101877ec2707c388f63542935e6eafd8347b6342 Mon Sep 17 00:00:00 2001 From: Pavol Hejny Date: Sat, 9 Sep 2023 16:12:37 +0200 Subject: [PATCH 02/43] Add Chat component --- package-lock.json | 11 ++ package.json | 1 + public/people/journal.jpeg | Bin 0 -> 59564 bytes public/people/teacher.jpeg | Bin 0 -> 49630 bytes src/components/Journal/Chat/Chat.module.css | 127 +++++++++++++ src/components/Journal/Chat/Chat.tsx | 171 ++++++++++++++++++ src/components/Journal/Journal.module.css | 7 + src/components/Journal/Journal.tsx | 97 ++++++++++ .../VoiceRecognitionButton.module.css | 3 + .../VoiceRecognitionButton.tsx | 68 +++++++ src/components/Journal/experiments/Form.tsx | 72 ++++++++ .../Journal/interfaces/ChatMessage.ts | 24 +++ src/components/Journal/utils/speak.ts | 66 +++++++ src/pages/test/chat.tsx | 5 +- 14 files changed, 649 insertions(+), 3 deletions(-) create mode 100644 public/people/journal.jpeg create mode 100644 public/people/teacher.jpeg create mode 100644 src/components/Journal/Chat/Chat.module.css create mode 100644 src/components/Journal/Chat/Chat.tsx create mode 100644 src/components/Journal/Journal.module.css create mode 100644 src/components/Journal/Journal.tsx create mode 100644 src/components/Journal/VoiceRecognitionButton/VoiceRecognitionButton.module.css create mode 100644 src/components/Journal/VoiceRecognitionButton/VoiceRecognitionButton.tsx create mode 100644 src/components/Journal/experiments/Form.tsx create mode 100644 src/components/Journal/interfaces/ChatMessage.ts create mode 100644 src/components/Journal/utils/speak.ts diff --git a/package-lock.json b/package-lock.json index 1e49413bfe..6b7a4c7983 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@azure/ms-rest-azure-js": "2.1.0", "@monaco-editor/react": "4.5.1", "@supabase/supabase-js": "2.26.0", + "@types/dom-speech-recognition": "^0.0.1", "@types/file-saver": "2.0.5", "@uiw/react-markdown-editor": "5.11.1", "@vercel/og": "0.5.8", @@ -4340,6 +4341,11 @@ "@types/ms": "*" } }, + "node_modules/@types/dom-speech-recognition": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/dom-speech-recognition/-/dom-speech-recognition-0.0.1.tgz", + "integrity": "sha512-udCxb8DvjcDKfk1WTBzDsxFbLgYxmQGKrE/ricoMqHRNjSlSUCcamVTA5lIQqzY10mY5qCY0QDwBfFEwhfoDPw==" + }, "node_modules/@types/eslint": { "version": "8.37.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", @@ -20770,6 +20776,11 @@ "@types/ms": "*" } }, + "@types/dom-speech-recognition": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/dom-speech-recognition/-/dom-speech-recognition-0.0.1.tgz", + "integrity": "sha512-udCxb8DvjcDKfk1WTBzDsxFbLgYxmQGKrE/ricoMqHRNjSlSUCcamVTA5lIQqzY10mY5qCY0QDwBfFEwhfoDPw==" + }, "@types/eslint": { "version": "8.37.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", diff --git a/package.json b/package.json index 4b49ae64cf..86a42b9e6c 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "@azure/ms-rest-azure-js": "2.1.0", "@monaco-editor/react": "4.5.1", "@supabase/supabase-js": "2.26.0", + "@types/dom-speech-recognition": "^0.0.1", "@types/file-saver": "2.0.5", "@uiw/react-markdown-editor": "5.11.1", "@vercel/og": "0.5.8", diff --git a/public/people/journal.jpeg b/public/people/journal.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ebcab08b9a5148a19c8bd950b21ad1e187cfac74 GIT binary patch literal 59564 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 Ue>&Fx@z1Ul^w9oB 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 z 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 + onMessage(messageContent: string /* <- TODO: !!! Pass here the message object NOT just text */): Promisable; +} + +export function Chat(props: ChatProps) { + const { messages, onMessage } = props; + + const [isAutoScrolling, setAutoScrolling] = useState(true); + const textareaRef = useRef(); + const buttonSendRef = useRef(); + + useEffect( + (/* Focus textarea on page load */) => { + if (!textareaRef.current) { + return; + } + textareaRef.current.focus(); + }, + [textareaRef], + ); + + const handleSend = async () => { + const textareaElement = textareaRef.current; + const buttonSendElement = buttonSendRef.current; + + if (!textareaElement) { + throw new Error(`Can not find textarea`); + } + if (!buttonSendElement) { + throw new Error(`Can not find textarea`); + } + + textareaElement.disabled = true; + buttonSendElement.disabled = true; + + try { + if (spaceTrim(textareaElement.value) === '') { + throw new Error(`You need to write some text`); + } + + await onMessage(textareaElement.value); + + textareaElement.value = ''; + textareaElement.focus(); + } catch (error) { + if (!(error instanceof Error)) { + throw error; + } + + console.error(error); + alert(error.message); + } finally { + textareaElement.disabled = false; + buttonSendElement.disabled = false; + } + }; + + return ( +
+
{ + if (!element) { + return; + } + + if (!isAutoScrolling) { + return; + } + + element.scrollBy(0, 10000); + }} + onScroll={(event) => { + const element = event.target; + + if (!(element instanceof HTMLDivElement)) { + return; + } + + setAutoScrolling(element.scrollTop + element.clientHeight === element.scrollHeight); + }} + > + {messages.map((message, i) => ( +
console.info(message)} + > +
+ {`AI +
+ +
+ {/*
{JSON.stringify(message, null, 4)}
*/} + +
+
+ ))} +
+ + {!isAutoScrolling && ( + + )} + +
+