-
+
+ Speech Recognition Language
+
+
+
+
+
Change Theme
-
+
Delete Chat History
diff --git a/src/components/Sidepanel/Chat/empty.tsx b/src/components/Sidepanel/Chat/empty.tsx
index 7626631..3f4a24c 100644
--- a/src/components/Sidepanel/Chat/empty.tsx
+++ b/src/components/Sidepanel/Chat/empty.tsx
@@ -1,4 +1,5 @@
import { useQuery } from "@tanstack/react-query"
+import { RotateCcw } from "lucide-react"
import { useEffect, useState } from "react"
import { useMessage } from "~hooks/useMessage"
import {
@@ -79,7 +80,8 @@ export const EmptySidePanel = () => {
saveOllamaURL(ollamaURL)
refetch()
}}
- className="bg-pink-500 mt-4 hover:bg-pink-600 text-white px-4 py-2 rounded-md dark:bg-pink-600 dark:hover:bg-pink-700">
+ className="inline-flex mt-4 items-center rounded-md border border-transparent bg-black px-2 py-2 text-sm font-medium leading-4 text-white shadow-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 dark:bg-white dark:text-gray-800 dark:hover:bg-gray-100 dark:focus:ring-gray-500 dark:focus:ring-offset-gray-100 disabled:opacity-50 ">
+
Retry
diff --git a/src/components/Sidepanel/Chat/form.tsx b/src/components/Sidepanel/Chat/form.tsx
index d2e62db..de02f13 100644
--- a/src/components/Sidepanel/Chat/form.tsx
+++ b/src/components/Sidepanel/Chat/form.tsx
@@ -6,6 +6,9 @@ import { useMessage } from "~hooks/useMessage"
import PhotoIcon from "@heroicons/react/24/outline/PhotoIcon"
import XMarkIcon from "@heroicons/react/24/outline/XMarkIcon"
import { toBase64 } from "~libs/to-base64"
+import { MicIcon } from "lucide-react"
+import { Image, Tooltip } from "antd"
+import { useSpeechRecognition } from "~hooks/useSpeechRecognition"
type Props = {
dropedFile: File | undefined
@@ -50,33 +53,52 @@ export const SidepanelForm = ({ dropedFile }: Props) => {
useDynamicTextareaSize(textareaRef, form.values.message, 120)
- const { onSubmit, selectedModel, chatMode } = useMessage()
+ const { onSubmit, selectedModel, chatMode, speechToTextLanguage } =
+ useMessage()
+ const { isListening, start, stop, transcript } = useSpeechRecognition()
+ React.useEffect(() => {
+ if (isListening) {
+ form.setFieldValue("message", transcript)
+ }
+ }, [transcript])
const { mutateAsync: sendMessage, isPending: isSending } = useMutation({
mutationFn: onSubmit
})
return (
-
-
- {chatMode === "normal" && form.values.image && (
-
-
-

-
-
-
- )}
+
+
+
+
+
+
+
+ {/*
*/}
+