diff --git a/web-app/src/containers/LeftPanel.tsx b/web-app/src/containers/LeftPanel.tsx index b019d318e..2f4ce9ecc 100644 --- a/web-app/src/containers/LeftPanel.tsx +++ b/web-app/src/containers/LeftPanel.tsx @@ -1,4 +1,4 @@ -import { Link, useNavigate, useRouterState } from '@tanstack/react-router' +import { Link, useRouterState } from '@tanstack/react-router' import { useLeftPanel } from '@/hooks/useLeftPanel' import { cn } from '@/lib/utils' import { @@ -6,7 +6,6 @@ import { IconDots, IconCirclePlusFilled, IconSettingsFilled, - IconTrash, IconStar, IconMessageFilled, IconAppsFilled, @@ -27,17 +26,6 @@ import { useThreads } from '@/hooks/useThreads' import { useTranslation } from '@/i18n/react-i18next-compat' import { useMemo, useState, useEffect, useRef } from 'react' -import { - Dialog, - DialogClose, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@/components/ui/dialog' -import { Button } from '@/components/ui/button' import { toast } from 'sonner' import { DownloadManagement } from '@/containers/DownloadManegement' import { useSmallScreen } from '@/hooks/useMediaQuery' @@ -45,6 +33,7 @@ import { useClickOutside } from '@/hooks/useClickOutside' import { useDownloadStore } from '@/hooks/useDownloadStore' import { PlatformFeatures } from '@/lib/platform/const' import { PlatformFeature } from '@/lib/platform/types' +import { DeleteAllThreadsDialog } from '@/containers/dialogs' const mainMenus = [ { @@ -76,7 +65,6 @@ const mainMenus = [ const LeftPanel = () => { const { open, setLeftPanel } = useLeftPanel() const { t } = useTranslation() - const navigate = useNavigate() const [searchTerm, setSearchTerm] = useState('') const isSmallScreen = useSmallScreen() @@ -362,80 +350,25 @@ const LeftPanel = () => { {t('common:recents')}
- - - - - - - - e.preventDefault()} - > - - {t('common:deleteAll')} - - - - - - {t('common:dialogs.deleteAllThreads.title')} - - - {t( - 'common:dialogs.deleteAllThreads.description' - )} - - - - - - - - - - - - + + + + + + + +
)} diff --git a/web-app/src/containers/ThreadContent.tsx b/web-app/src/containers/ThreadContent.tsx index fc7306142..0316ee764 100644 --- a/web-app/src/containers/ThreadContent.tsx +++ b/web-app/src/containers/ThreadContent.tsx @@ -2,14 +2,7 @@ import { ThreadMessage } from '@janhq/core' import { RenderMarkdown } from './RenderMarkdown' import React, { Fragment, memo, useCallback, useMemo, useState } from 'react' -import { - IconCopy, - IconCopyCheck, - IconRefresh, - IconTrash, - IconPencil, - IconInfoCircle, -} from '@tabler/icons-react' +import { IconCopy, IconCopyCheck, IconRefresh } from '@tabler/icons-react' import { useAppState } from '@/hooks/useAppState' import { cn } from '@/lib/utils' import { useMessages } from '@/hooks/useMessages' @@ -17,16 +10,10 @@ import ThinkingBlock from '@/containers/ThinkingBlock' import ToolCallBlock from '@/containers/ToolCallBlock' import { useChat } from '@/hooks/useChat' import { - Dialog, - DialogClose, - DialogContent, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@/components/ui/dialog' -import { Button } from '@/components/ui/button' -import { Textarea } from '@/components/ui/textarea' + EditMessageDialog, + MessageMetadataDialog, + DeleteMessageDialog, +} from '@/containers/dialogs' import { Tooltip, TooltipContent, @@ -37,8 +24,6 @@ import { AvatarEmoji } from '@/containers/AvatarEmoji' import TokenSpeedIndicator from '@/containers/TokenSpeedIndicator' -import CodeEditor from '@uiw/react-textarea-code-editor' -import '@uiw/react-textarea-code-editor/dist.css' import { useTranslation } from '@/i18n/react-i18next-compat' import { useModelProvider } from '@/hooks/useModelProvider' @@ -76,69 +61,6 @@ const CopyButton = ({ text }: { text: string }) => { ) } -const EditDialog = ({ - message, - setMessage, -}: { - message: string - setMessage: (message: string) => void -}) => { - const { t } = useTranslation() - const [draft, setDraft] = useState(message) - - const handleSave = () => { - if (draft !== message) { - setMessage(draft) - } - } - - return ( - - - - -
- -
-
- -

{t('edit')}

-
-
-
- - - {t('common:dialogs.editMessage.title')} -