From 3728766d7f3f5527b8a42fe54f8da9870f367bec Mon Sep 17 00:00:00 2001 From: ecwu Date: Fri, 3 Jan 2025 11:30:12 +0800 Subject: [PATCH] refactor: rename components and update import paths for consistency --- .../{mode-toggle.tsx => ModeToggle.tsx} | 2 +- src/components/Search.tsx | 2 +- src/components/Settings.tsx | 2 +- src/components/StatusBar.tsx | 204 ------------------ .../{theme-provider.tsx => ThemeProvider.tsx} | 0 src/components/WhisperButton.tsx | 8 +- src/components/navbar.tsx | 2 +- src/main.tsx | 2 +- src/message.tsx | 1 - src/pages/App.tsx | 2 +- src/pages/Chatbox.tsx | 3 +- src/{textarea.tsx => utils/textAreaHelp.tsx} | 0 12 files changed, 8 insertions(+), 220 deletions(-) rename src/components/{mode-toggle.tsx => ModeToggle.tsx} (95%) delete mode 100644 src/components/StatusBar.tsx rename src/components/{theme-provider.tsx => ThemeProvider.tsx} (100%) rename src/{textarea.tsx => utils/textAreaHelp.tsx} (100%) diff --git a/src/components/mode-toggle.tsx b/src/components/ModeToggle.tsx similarity index 95% rename from src/components/mode-toggle.tsx rename to src/components/ModeToggle.tsx index 6490f27..8a925d1 100644 --- a/src/components/mode-toggle.tsx +++ b/src/components/ModeToggle.tsx @@ -7,7 +7,7 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { useTheme } from "@/components/theme-provider"; +import { useTheme } from "@/components/ThemeProvider"; export function ModeToggle() { const { setTheme } = useTheme(); diff --git a/src/components/Search.tsx b/src/components/Search.tsx index 0469040..bbe0b3e 100644 --- a/src/components/Search.tsx +++ b/src/components/Search.tsx @@ -46,7 +46,7 @@ export default function Search() { return ( - + diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx index d1c7bd8..a4387b0 100644 --- a/src/components/Settings.tsx +++ b/src/components/Settings.tsx @@ -13,7 +13,7 @@ import { models } from "@/types/models"; import { tr, Tr, langCodeContext, LANG_OPTIONS } from "@/translate"; import { isVailedJSON } from "@/message"; import { SetAPIsTemplate } from "@/setAPIsTemplate"; -import { autoHeight } from "@/textarea"; +import { autoHeight } from "@/utils/textAreaHelp"; import { getDefaultParams } from "@/utils/getDefaultParam"; import { Button } from "@/components/ui/button"; diff --git a/src/components/StatusBar.tsx b/src/components/StatusBar.tsx deleted file mode 100644 index f7ab2b1..0000000 --- a/src/components/StatusBar.tsx +++ /dev/null @@ -1,204 +0,0 @@ -import { - CubeIcon, - BanknotesIcon, - ChatBubbleLeftEllipsisIcon, - ScissorsIcon, - SwatchIcon, - SparklesIcon, -} from "@heroicons/react/24/outline"; - -import { ChatStore } from "@/types/chatstore"; -import { models } from "@/types/models"; -import { Tr } from "@/translate"; -import { getTotalCost } from "@/utils/totalCost"; - -const StatusBar = (props: { - chatStore: ChatStore; - setShowSettings: (show: boolean) => void; - setShowSearch: (show: boolean) => void; -}) => { - const { chatStore, setShowSettings, setShowSearch } = props; - return ( -
-
-
-
- - - -
-
    -
  • -

    - - Tokens: {chatStore.totalTokens}/{chatStore.maxTokens} -

    -
  • -
  • -

    - - Cut: - {chatStore.postBeginIndex}/ - {chatStore.history.filter(({ hide }) => !hide).length} -

    -
  • -
  • -

    - - Cost: ${chatStore.cost?.toFixed(4)} -

    -
  • -
-
-
-
{ - setShowSettings(true); - }} - > - {/* the long staus bar */} -
-
-
- -
-
Model
-
{chatStore.model}
-
- {models[chatStore.model]?.price?.prompt * 1000 * 1000} $/M tokens -
-
-
-
- -
-
Mode
-
- {chatStore.streamMode ? Tr("STREAM") : Tr("FETCH")} -
-
STREAM/FETCH
-
- -
-
- -
-
Tokens
-
{chatStore.totalTokens}
-
Max: {chatStore.maxTokens}
-
- -
-
- -
-
Cut
-
- {chatStore.postBeginIndex} -
-
- Max: {chatStore.history.filter(({ hide }) => !hide).length} -
-
- -
-
- -
-
Cost
-
- ${chatStore.cost?.toFixed(4)} -
-
- Accumulated: ${getTotalCost().toFixed(2)} -
-
-
- - {/* the short status bar */} -
- {chatStore.totalTokens !== 0 && ( - - Tokens: {chatStore.totalTokens} - - )} - - - {chatStore.model} - -
-
-
- - -
-
- ); -}; - -export default StatusBar; diff --git a/src/components/theme-provider.tsx b/src/components/ThemeProvider.tsx similarity index 100% rename from src/components/theme-provider.tsx rename to src/components/ThemeProvider.tsx diff --git a/src/components/WhisperButton.tsx b/src/components/WhisperButton.tsx index 9029907..4791be2 100644 --- a/src/components/WhisperButton.tsx +++ b/src/components/WhisperButton.tsx @@ -3,13 +3,7 @@ import { createRef, useContext } from "react"; import { ChatStore } from "@/types/chatstore"; import { useEffect, useState, Dispatch } from "react"; import { Button } from "@/components/ui/button"; -import { - AudioWaveform, - AudioWaveformIcon, - CircleStopIcon, - MicIcon, - VoicemailIcon, -} from "lucide-react"; +import { AudioWaveformIcon, CircleStopIcon, MicIcon } from "lucide-react"; import { AppContext } from "@/pages/App"; const WhisperButton = (props: { diff --git a/src/components/navbar.tsx b/src/components/navbar.tsx index e12857f..2d6bbd8 100644 --- a/src/components/navbar.tsx +++ b/src/components/navbar.tsx @@ -14,7 +14,7 @@ import { PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; -import { ModeToggle } from "@/components/mode-toggle"; +import { ModeToggle } from "@/components/ModeToggle"; import { SidebarTrigger } from "@/components/ui/sidebar"; import { Separator } from "@/components/ui/separator"; import { diff --git a/src/main.tsx b/src/main.tsx index 9b2301f..704b294 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -5,7 +5,7 @@ import { App } from "@/pages/App"; import { Tr, langCodeContext, LANG_OPTIONS } from "@/translate"; import { SidebarProvider } from "@/components/ui/sidebar"; import { Toaster } from "@/components/ui/toaster"; -import { ThemeProvider } from "@/components/theme-provider"; +import { ThemeProvider } from "@/components/ThemeProvider"; function Base() { const [langCode, _setLangCode] = useState("en-US"); diff --git a/src/message.tsx b/src/message.tsx index cf337e4..8a4e523 100644 --- a/src/message.tsx +++ b/src/message.tsx @@ -14,7 +14,6 @@ import { EditMessage } from "@/editMessage"; import logprobToColor from "@/logprob"; import { ChatBubble, - ChatBubbleAvatar, ChatBubbleMessage, ChatBubbleAction, ChatBubbleActionWrapper, diff --git a/src/pages/App.tsx b/src/pages/App.tsx index c1a0c90..bcbee45 100644 --- a/src/pages/App.tsx +++ b/src/pages/App.tsx @@ -113,7 +113,7 @@ import { RulerIcon, } from "lucide-react"; import { Badge } from "@/components/ui/badge"; -import { ModeToggle } from "@/components/mode-toggle"; +import { ModeToggle } from "@/components/ModeToggle"; import Navbar from "@/components/navbar"; diff --git a/src/pages/Chatbox.tsx b/src/pages/Chatbox.tsx index c7c0b8b..e73aa34 100644 --- a/src/pages/Chatbox.tsx +++ b/src/pages/Chatbox.tsx @@ -24,10 +24,9 @@ import { models } from "@/types/models"; import { AddImage } from "@/addImage"; import { ListAPIs } from "@/listAPIs"; import { ListToolsTempaltes } from "@/listToolsTemplates"; -import { autoHeight } from "@/textarea"; +import { autoHeight } from "@/utils/textAreaHelp"; import Templates from "@/components/Templates"; import VersionHint from "@/components/VersionHint"; -import StatusBar from "@/components/StatusBar"; import WhisperButton from "@/components/WhisperButton"; import AddToolMsg from "./AddToolMsg"; import { Textarea } from "@/components/ui/textarea"; diff --git a/src/textarea.tsx b/src/utils/textAreaHelp.tsx similarity index 100% rename from src/textarea.tsx rename to src/utils/textAreaHelp.tsx