From 7daaba5af7d3be66399ed496bba13332dbd9e0e5 Mon Sep 17 00:00:00 2001 From: Davinder Singh Date: Thu, 5 Mar 2026 15:40:29 +0000 Subject: [PATCH] Merge pull request #31957 from overleaf/ds-removing-useIsNewEditorEnabled-5 [Part 5] Removing the usage of `useIsNewEditorEnabled` for editor tear down GitOrigin-RevId: 086183b196a44b393dc0c0f60f7bfbc5738901fc --- .../components/file-tree-folder-icons.tsx | 38 ++----------- .../file-tree/components/file-tree-folder.tsx | 15 +---- .../file-tree-item/file-tree-item-name.tsx | 56 ++----------------- .../hooks/use-editing-session-heartbeat.ts | 8 +-- .../ide-redesign/utils/new-editor-utils.ts | 12 +--- .../js/shared/context/ide-context.tsx | 3 +- .../stylesheets/pages/editor/file-tree.scss | 11 +--- .../stylesheets/pages/editor/history.scss | 5 -- 8 files changed, 19 insertions(+), 129 deletions(-) diff --git a/services/web/frontend/js/features/file-tree/components/file-tree-folder-icons.tsx b/services/web/frontend/js/features/file-tree/components/file-tree-folder-icons.tsx index ac594d7ce9..e8f6f0adc3 100644 --- a/services/web/frontend/js/features/file-tree/components/file-tree-folder-icons.tsx +++ b/services/web/frontend/js/features/file-tree/components/file-tree-folder-icons.tsx @@ -1,49 +1,21 @@ import { useTranslation } from 'react-i18next' import MaterialIcon from '@/shared/components/material-icon' -import { useIsNewEditorEnabled } from '@/features/ide-redesign/utils/new-editor-utils' -function FileTreeFolderIcons({ - expanded, - onExpandCollapseClick, -}: { - expanded: boolean - onExpandCollapseClick?: () => void -}) { +function FileTreeFolderIcons({ expanded }: { expanded: boolean }) { const { t } = useTranslation() - const newEditor = useIsNewEditorEnabled() - - if (newEditor) { - return ( - <> -
- -
- - ) - } return ( <> - - + ) } diff --git a/services/web/frontend/js/features/file-tree/components/file-tree-folder.tsx b/services/web/frontend/js/features/file-tree/components/file-tree-folder.tsx index 74f31bbdd8..f8323cd890 100644 --- a/services/web/frontend/js/features/file-tree/components/file-tree-folder.tsx +++ b/services/web/frontend/js/features/file-tree/components/file-tree-folder.tsx @@ -14,7 +14,6 @@ import { Folder } from '../../../../../types/folder' import { Doc } from '../../../../../types/doc' import { FileRef } from '../../../../../types/file-ref' import FileTreeFolderIcons from './file-tree-folder-icons' -import { useIsNewEditorEnabled } from '@/features/ide-redesign/utils/new-editor-utils' function FileTreeFolder({ name, @@ -29,7 +28,6 @@ function FileTreeFolder({ docs: Doc[] files: FileRef[] }) { - const newEditor = useIsNewEditorEnabled() const { isSelected, props: selectableEntityProps } = useSelectableEntity( id, 'folder' @@ -53,10 +51,8 @@ function FileTreeFolder({ }, [setExpanded]) const onClick = useCallback(() => { - if (newEditor) { - handleExpandCollapseClick() - } - }, [newEditor, handleExpandCollapseClick]) + handleExpandCollapseClick() + }, [handleExpandCollapseClick]) const { isOver: isOverRoot, dropRef: dropRefRoot } = useDroppable(id) const { isOver: isOverList, dropRef: dropRefList } = useDroppable(id) @@ -82,12 +78,7 @@ function FileTreeFolder({ type="folder" isSelected={isSelected} onClick={onClick} - icons={ - - } + icons={} /> {expanded ? ( diff --git a/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-name.tsx b/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-name.tsx index e742d5d5c5..0b4d486645 100644 --- a/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-name.tsx +++ b/services/web/frontend/js/features/file-tree/components/file-tree-item/file-tree-item-name.tsx @@ -1,7 +1,6 @@ import { useState, useEffect, RefObject } from 'react' import { useRefWithAutoFocus } from '../../../../shared/hooks/use-ref-with-auto-focus' import { useFileTreeActionable } from '../../contexts/file-tree-actionable' -import { useIsNewEditorEnabled } from '@/features/ide-redesign/utils/new-editor-utils' function FileTreeItemName({ name, @@ -12,8 +11,7 @@ function FileTreeItemName({ isSelected: boolean setIsDraggable: (isDraggable: boolean) => void }) { - const { isRenaming, startRenaming, finishRenaming, error, cancel } = - useFileTreeActionable() + const { isRenaming, finishRenaming, error, cancel } = useFileTreeActionable() const isRenamingEntity = isRenaming && isSelected && !error @@ -30,58 +28,14 @@ function FileTreeItemName({ /> ) } - return ( - - ) + return } -function DisplayName({ - name, - isSelected, - startRenaming, -}: { - name: string - isSelected: boolean - startRenaming: () => void -}) { - const [clicksInSelectedCount, setClicksInSelectedCount] = useState(0) - const newEditor = useIsNewEditorEnabled() - - function onClick() { - setClicksInSelectedCount(clicksInSelectedCount + 1) - if (!isSelected) setClicksInSelectedCount(0) - } - - function onDoubleClick() { - // only start renaming if the button got two or more clicks while the item - // was selected. This is to prevent starting a rename on an unselected item. - // When the item is being selected it can trigger a loss of focus which - // causes UI problems. - if (clicksInSelectedCount < 2) return - startRenaming() - } - - if (newEditor) { - return ( - // TODO ide-redesign-cleanup: rename the class now its no longer a button -
- {name} -
- ) - } - +function DisplayName({ name }: { name: string }) { return ( - + ) } diff --git a/services/web/frontend/js/features/ide-react/hooks/use-editing-session-heartbeat.ts b/services/web/frontend/js/features/ide-react/hooks/use-editing-session-heartbeat.ts index e09d65282a..8f7145911d 100644 --- a/services/web/frontend/js/features/ide-react/hooks/use-editing-session-heartbeat.ts +++ b/services/web/frontend/js/features/ide-react/hooks/use-editing-session-heartbeat.ts @@ -6,7 +6,6 @@ import { debugConsole } from '@/utils/debugging' import { useCallback, useEffect, useRef } from 'react' import useEventListener from '@/shared/hooks/use-event-listener' import useDomEventListener from '@/shared/hooks/use-dom-event-listener' -import { useIsNewEditorEnabled } from '@/features/ide-redesign/utils/new-editor-utils' import { IdeLayout, IdeView, @@ -19,17 +18,15 @@ import { function createEditingSessionHeartbeatData( editorType: EditorType, - newEditor: boolean, view: IdeView | null, layout: IdeLayout, railOpen: boolean, railTab: RailTabKey, hasDetachedPdf: boolean ) { - const newEditorSegmentation = newEditor ? { railOpen, railTab } : {} + const newEditorSegmentation = { railOpen, railTab } return { editorType, - editorRedesign: newEditor, editorView: view, editorLayout: layout, hasDetachedPdf, @@ -49,7 +46,6 @@ function sendEditingSessionHeartbeat( export function useEditingSessionHeartbeat() { const { projectId } = useIdeReactContext() const { getEditorType } = useEditorManagerContext() - const newEditor = useIsNewEditorEnabled() const { view, pdfLayout: layout, detachIsLinked } = useLayoutContext() const { isOpen: railIsOpen, selectedTab: selectedRailTab } = useRailContext() @@ -80,7 +76,6 @@ export function useEditingSessionHeartbeat() { const segmentation = createEditingSessionHeartbeatData( editorType, - newEditor, view, layout, railIsOpen, @@ -109,7 +104,6 @@ export function useEditingSessionHeartbeat() { }, [ getEditorType, projectId, - newEditor, view, layout, railIsOpen, diff --git a/services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts b/services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts index 40b3804068..d54b3a182f 100644 --- a/services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts +++ b/services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts @@ -1,16 +1,6 @@ import { useUserSettingsContext } from '@/shared/context/user-settings-context' -export const canUseNewEditor = () => { - return true -} - -export const useIsNewEditorEnabled = () => { - return canUseNewEditor() -} - export const useIsNewToNewEditor = () => { const { userSettings } = useUserSettingsContext() - const newEditor = useIsNewEditorEnabled() - - return newEditor && !userSettings.enableNewEditorLegacy + return !userSettings.enableNewEditorLegacy } diff --git a/services/web/frontend/js/shared/context/ide-context.tsx b/services/web/frontend/js/shared/context/ide-context.tsx index 52c5e85bab..2ad2f30bae 100644 --- a/services/web/frontend/js/shared/context/ide-context.tsx +++ b/services/web/frontend/js/shared/context/ide-context.tsx @@ -4,7 +4,6 @@ import { ScopeEventEmitter } from '../../../../types/ide/scope-event-emitter' import { Socket } from '@/features/ide-react/connection/types/socket' import { useUserSettingsContext } from './user-settings-context' import { userStyles } from '../utils/styles' -import { canUseNewEditor } from '@/features/ide-redesign/utils/new-editor-utils' import { useActiveOverallTheme } from '../hooks/use-active-overall-theme' export type Ide = { @@ -59,7 +58,7 @@ export const IdeProvider: FC< fontFamily, lineHeight, fontSize: userSettings.fontSize, - isNewEditor: canUseNewEditor() && userSettings.enableNewEditor, + isNewEditor: true, }) }, [unstableStore, userSettings, activeOverallTheme]) diff --git a/services/web/frontend/stylesheets/pages/editor/file-tree.scss b/services/web/frontend/stylesheets/pages/editor/file-tree.scss index 865afe2de8..68f4bf8047 100644 --- a/services/web/frontend/stylesheets/pages/editor/file-tree.scss +++ b/services/web/frontend/stylesheets/pages/editor/file-tree.scss @@ -148,7 +148,7 @@ gap: var(--spacing-02); } - .item-name-button, + .item-name, .folder-expand-collapse-button { display: flex; align-items: center; @@ -183,7 +183,7 @@ } } - .item-name-button { + .item-name { margin-left: var(--spacing-02); overflow: hidden; @@ -352,7 +352,7 @@ border: 0; padding: 0; - &.item-name-button { + &.item-name { color: inherit; width: 100%; overflow: hidden; @@ -423,11 +423,6 @@ } } - &.file-tree-folder-icon { - margin-right: var(--spacing-02); - vertical-align: sub; - } - &.file-tree-expand-icon { margin-left: var(--spacing-04); vertical-align: sub; diff --git a/services/web/frontend/stylesheets/pages/editor/history.scss b/services/web/frontend/stylesheets/pages/editor/history.scss index ef087b79ae..9753539d2b 100644 --- a/services/web/frontend/stylesheets/pages/editor/history.scss +++ b/services/web/frontend/stylesheets/pages/editor/history.scss @@ -610,11 +610,6 @@ history-root { margin-left: var(--spacing-04); } - &.file-tree-folder-icon { - margin-right: var(--spacing-02); - vertical-align: sub; - } - &.file-tree-expand-icon { margin-left: var(--spacing-04); vertical-align: sub;