diff --git a/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx b/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx index 19eb3e6212..5c0a9fce54 100644 --- a/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx +++ b/src/renderer/src/pages/home/Tabs/components/SessionItem.tsx @@ -1,14 +1,17 @@ -import { Button, cn, Input } from '@heroui/react' +import { Button, cn, Input, PressEvent, Tooltip } from '@heroui/react' import { DeleteIcon, EditIcon } from '@renderer/components/Icons' +import { isMac } from '@renderer/config/constant' import { useUpdateSession } from '@renderer/hooks/agents/useUpdateSession' import { useInPlaceEdit } from '@renderer/hooks/useInPlaceEdit' import { useRuntime } from '@renderer/hooks/useRuntime' import { useSettings } from '@renderer/hooks/useSettings' +import { useTimer } from '@renderer/hooks/useTimer' import { SessionSettingsPopup } from '@renderer/pages/settings/AgentSettings' import { SessionLabel } from '@renderer/pages/settings/AgentSettings/shared' import { AgentSessionEntity } from '@renderer/types' import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger } from '@renderer/ui/context-menu' -import { FC, memo } from 'react' +import { XIcon } from 'lucide-react' +import { FC, memo, startTransition, useState } from 'react' import { useTranslation } from 'react-i18next' // const logger = loggerService.withContext('AgentItem') @@ -28,6 +31,8 @@ const SessionItem: FC = ({ session, agentId, isDisabled, isLoa const { chat } = useRuntime() const updateSession = useUpdateSession(agentId) const activeSessionId = chat.activeSessionId[agentId] + const [isConfirmingDeletion, setIsConfirmingDeletion] = useState(false) + const { setTimeoutTimer } = useTimer() const { isEditing, isSaving, editValue, inputRef, startEdit, handleKeyDown, handleValueChange } = useInPlaceEdit({ onSave: async (value) => { @@ -48,7 +53,8 @@ const SessionItem: FC = ({ session, agentId, isDisabled, isLoa isLoading={isLoading} onPress={onPress} isActive={isActive} - onDoubleClick={() => startEdit(session.name ?? '')}> + onDoubleClick={() => startEdit(session.name ?? '')} + className="group"> {isEditing && ( = ({ session, agentId, isDisabled, isLoa }} /> )} - {!isEditing && } + {!isEditing && ( +
+ + +
+ )}