From 66a6f263a553f00e1e7794320934e4049e971fab Mon Sep 17 00:00:00 2001
From: heimoshuiyu
Date: Fri, 27 Dec 2024 18:02:14 +0800
Subject: [PATCH] clean up chatStore
---
src/components/VersionHint.tsx | 9 +++++++--
src/components/WhisperButton.tsx | 10 +++++++---
src/editMessage.tsx | 28 ++++++++++------------------
src/editMessageDetail.tsx | 16 ++++++++--------
src/editMessageString.tsx | 16 ++++++++--------
src/listToolsTemplates.tsx | 28 ++++++++++++----------------
src/message.tsx | 16 ++--------------
src/pages/Chatbox.tsx | 12 ++----------
src/tts.tsx | 26 ++++++++++++++------------
9 files changed, 70 insertions(+), 91 deletions(-)
diff --git a/src/components/VersionHint.tsx b/src/components/VersionHint.tsx
index 1421ab2..3844e59 100644
--- a/src/components/VersionHint.tsx
+++ b/src/components/VersionHint.tsx
@@ -1,8 +1,13 @@
import { ChatStore } from "@/types/chatstore";
import { Tr } from "@/translate";
+import { useContext } from "react";
+import { AppContext } from "@/pages/App";
-const VersionHint = (props: { chatStore: ChatStore }) => {
- const { chatStore } = props;
+const VersionHint = () => {
+ const ctx = useContext(AppContext);
+ if (!ctx) return error
;
+
+ const { chatStore } = ctx;
return (
<>
{chatStore.chatgpt_api_web_version < "v1.3.0" && (
diff --git a/src/components/WhisperButton.tsx b/src/components/WhisperButton.tsx
index e002214..9029907 100644
--- a/src/components/WhisperButton.tsx
+++ b/src/components/WhisperButton.tsx
@@ -1,4 +1,4 @@
-import { createRef } from "react";
+import { createRef, useContext } from "react";
import { ChatStore } from "@/types/chatstore";
import { useEffect, useState, Dispatch } from "react";
@@ -10,13 +10,17 @@ import {
MicIcon,
VoicemailIcon,
} from "lucide-react";
+import { AppContext } from "@/pages/App";
const WhisperButton = (props: {
- chatStore: ChatStore;
inputMsg: string;
setInputMsg: Dispatch;
}) => {
- const { chatStore, inputMsg, setInputMsg } = props;
+ const ctx = useContext(AppContext);
+ if (!ctx) return error
;
+ const { chatStore } = ctx;
+
+ const { inputMsg, setInputMsg } = props;
const mediaRef = createRef();
const [isRecording, setIsRecording] = useState("Mic");
return (
diff --git a/src/editMessage.tsx b/src/editMessage.tsx
index 170d572..a06fda9 100644
--- a/src/editMessage.tsx
+++ b/src/editMessage.tsx
@@ -1,4 +1,4 @@
-import { useState, useEffect, Dispatch } from "react";
+import { useState, useEffect, Dispatch, useContext } from "react";
import { Tr, langCodeContext, LANG_OPTIONS, tr } from "@/translate";
import { ChatStore, ChatStoreMessage } from "@/types/chatstore";
import { EditMessageString } from "@/editMessageString";
@@ -13,16 +13,18 @@ import {
DialogTrigger,
} from "@/components/ui/dialog";
import { Button } from "./components/ui/button";
+import { AppContext } from "./pages/App";
interface EditMessageProps {
chat: ChatStoreMessage;
- chatStore: ChatStore;
showEdit: boolean;
setShowEdit: Dispatch;
- setChatStore: (cs: ChatStore) => void;
}
export function EditMessage(props: EditMessageProps) {
- const { showEdit, setShowEdit, chat, setChatStore, chatStore } = props;
+ const ctx = useContext(AppContext);
+ if (!ctx) return error
;
+
+ const { showEdit, setShowEdit, chat } = props;
return (
-
+
{showRetry && (