diff --git a/services/web/frontend/js/features/chat/context/chat-context.tsx b/services/web/frontend/js/features/chat/context/chat-context.tsx index d86171a451..9feca60579 100644 --- a/services/web/frontend/js/features/chat/context/chat-context.tsx +++ b/services/web/frontend/js/features/chat/context/chat-context.tsx @@ -20,6 +20,8 @@ import { useIdeContext } from '@/shared/context/ide-context' import getMeta from '@/utils/meta' import { debugConsole } from '@/utils/debugging' import { User } from '../../../../../types/user' +import { useRailContext } from '@/features/ide-redesign/contexts/rail-context' +import { useIsNewEditorEnabled } from '@/features/ide-redesign/utils/new-editor-utils' const PAGE_SIZE = 50 @@ -200,7 +202,12 @@ export const ChatProvider: FC = ({ children }) => { const user = useUserContext() const { _id: projectId } = useProjectContext() - const { chatIsOpen } = useLayoutContext() + const { chatIsOpen: chatIsOpenOldEditor } = useLayoutContext() + const { selectedTab: selectedRailTab, isOpen: railIsOpen } = useRailContext() + const newEditor = useIsNewEditorEnabled() + const chatIsOpen = newEditor + ? selectedRailTab === 'chat' && railIsOpen + : chatIsOpenOldEditor const { hasFocus: windowHasFocus, diff --git a/services/web/frontend/js/features/ide-redesign/components/rail.tsx b/services/web/frontend/js/features/ide-redesign/components/rail.tsx index 34cb7df3f4..c3e14edfcb 100644 --- a/services/web/frontend/js/features/ide-redesign/components/rail.tsx +++ b/services/web/frontend/js/features/ide-redesign/components/rail.tsx @@ -32,6 +32,7 @@ import { HistorySidebar } from '@/features/ide-react/components/history-sidebar' import DictionarySettingsModal from './settings/editor-settings/dictionary-settings-modal' import OLTooltip from '@/features/ui/components/ol/ol-tooltip' import OLIconButton from '@/features/ui/components/ol/ol-icon-button' +import { useChatContext } from '@/features/chat/context/chat-context' type RailElement = { icon: AvailableUnfilledIcon @@ -91,6 +92,8 @@ export const RailLayout = () => { const { view, setLeftMenuShown } = useLayoutContext() + const { markMessagesAsRead } = useChatContext() + const isHistoryView = view === 'history' const railTabs: RailElement[] = useMemo( @@ -163,9 +166,13 @@ export const RailLayout = () => { } // Change the selected tab and make sure it's open openTab((key ?? 'file-tree') as RailTabKey) + + if (key === 'chat') { + markMessagesAsRead() + } } }, - [openTab, togglePane, selectedTab, railTabs] + [openTab, togglePane, selectedTab, railTabs, markMessagesAsRead] ) const isReviewPanelOpen = selectedTab === 'review-panel'