diff --git a/services/web/app/src/Features/Project/ProjectController.js b/services/web/app/src/Features/Project/ProjectController.js index 50c48cb48c..f866e3b30f 100644 --- a/services/web/app/src/Features/Project/ProjectController.js +++ b/services/web/app/src/Features/Project/ProjectController.js @@ -330,7 +330,6 @@ const _ProjectController = { 'pdf-caching-mode', 'pdf-caching-prefetch-large', 'pdf-caching-prefetching', - 'pdf-controls', 'pdf-presentation-mode', 'pdfjs-40', 'personal-access-token', diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.tsx b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.tsx index 5bcdc0bdd9..c290b76308 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.tsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.tsx @@ -1,6 +1,5 @@ import { memo, useCallback, useEffect, useRef, useState } from 'react' import { debounce, throttle } from 'lodash' -import PdfViewerControls from './pdf-viewer-controls' import PdfViewerControlsToolbar from './pdf-viewer-controls-toolbar' import { useProjectContext } from '../../../shared/context/project-context' import usePersistedState from '../../../shared/hooks/use-persisted-state' @@ -14,7 +13,6 @@ import * as eventTracking from '../../../infrastructure/event-tracking' import { getPdfCachingMetrics } from '../util/metrics' import { debugConsole } from '@/utils/debugging' import { usePdfPreviewContext } from '@/features/pdf-preview/components/pdf-preview-provider' -import { useFeatureFlag } from '@/shared/context/split-test-context' import usePresentationMode from '../hooks/use-presentation-mode' import useMouseWheelZoom from '../hooks/use-mouse-wheel-zoom' @@ -31,8 +29,6 @@ function PdfJsViewer({ url, pdfFile }: PdfJsViewerProps) { const { setLoadingError } = usePdfPreviewContext() - const hasNewPdfToolbar = useFeatureFlag('pdf-controls') - // state values persisted in localStorage to restore on load const [scale, setScale] = usePersistedState( `pdf-viewer-scale:${projectId}`, @@ -389,15 +385,6 @@ function PdfJsViewer({ url, pdfFile }: PdfJsViewerProps) { const setZoom = useCallback( zoom => { switch (zoom) { - // TODO: We can remove fit-width and fit-height once the - // pdf toolbar is fully rolled out - case 'fit-width': - setScale('page-width') - break - - case 'fit-height': - setScale('page-height') - break case 'zoom-in': if (pdfJsWrapper) { setScale( @@ -505,22 +492,16 @@ function PdfJsViewer({ url, pdfFile }: PdfJsViewerProps) { >
-
- {hasNewPdfToolbar ? ( - toolbarInfoLoaded && ( - - ) - ) : ( - - )} -
+ {toolbarInfoLoaded && ( + + )} ) } diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.jsx b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.jsx index 390b0d608e..ccb9b9d65c 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.jsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.jsx @@ -9,7 +9,6 @@ import PdfHybridDownloadButton from './pdf-hybrid-download-button' import PdfHybridCodeCheckButton from './pdf-hybrid-code-check-button' import PdfOrphanRefreshButton from './pdf-orphan-refresh-button' import { DetachedSynctexControl } from './detach-synctex-control' -import { useFeatureFlag } from '@/shared/context/split-test-context' import Icon from '../../../shared/components/icon' const ORPHAN_UI_TIMEOUT_MS = 5000 @@ -55,8 +54,6 @@ function PdfPreviewHybridToolbar() { } function PdfPreviewHybridToolbarInner() { - const hasNewPdfToolbar = useFeatureFlag('pdf-controls') - return ( <>
@@ -65,9 +62,7 @@ function PdfPreviewHybridToolbarInner() {
- {hasNewPdfToolbar && ( -
- )} +
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-viewer-controls-toolbar.tsx b/services/web/frontend/js/features/pdf-preview/components/pdf-viewer-controls-toolbar.tsx index a65e44ac28..4c87f9efe7 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-viewer-controls-toolbar.tsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-viewer-controls-toolbar.tsx @@ -3,7 +3,6 @@ import { createPortal } from 'react-dom' import PdfPageNumberControl from './pdf-page-number-control' import PdfZoomButtons from './pdf-zoom-buttons' import PdfZoomDropdown from './pdf-zoom-dropdown' -import SplitTestBadge from '@/shared/components/split-test-badge' import { useResizeObserver } from '@/shared/hooks/use-resize-observer' import PdfViewerControlsMenuButton from './pdf-viewer-controls-menu-button' import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context' @@ -55,10 +54,6 @@ function PdfViewerControlsToolbar({ return createPortal(
- - - - - - - ) -} - -PdfViewerControls.propTypes = { - setZoom: PropTypes.func.isRequired, -} - -export default memo(PdfViewerControls) diff --git a/services/web/frontend/js/features/pdf-preview/hooks/use-mouse-wheel-zoom.ts b/services/web/frontend/js/features/pdf-preview/hooks/use-mouse-wheel-zoom.ts index 4fe09b711b..2569b94c2b 100644 --- a/services/web/frontend/js/features/pdf-preview/hooks/use-mouse-wheel-zoom.ts +++ b/services/web/frontend/js/features/pdf-preview/hooks/use-mouse-wheel-zoom.ts @@ -1,6 +1,5 @@ import { useCallback, useEffect, useRef } from 'react' import PDFJSWrapper from '../util/pdf-js-wrapper' -import { useFeatureFlag } from '@/shared/context/split-test-context' // We need this to work for both a traditional mouse wheel and a touchpad "pinch to zoom". // From experimentation, trackpads tend to fire a lot of events with small deltaY's where @@ -15,8 +14,6 @@ export default function useMouseWheelZoom( pdfJsWrapper: PDFJSWrapper | null | undefined, setScale: (scale: string) => void ) { - const isEnabled = useFeatureFlag('pdf-controls') - const isZoomingRef = useRef(false) const performZoom = useCallback( @@ -62,7 +59,7 @@ export default function useMouseWheelZoom( ) useEffect(() => { - if (pdfJsWrapper && isEnabled) { + if (pdfJsWrapper) { const wheelListener = (event: WheelEvent) => { if (event.metaKey || event.ctrlKey) { event.preventDefault() @@ -85,5 +82,5 @@ export default function useMouseWheelZoom( pdfJsWrapper.container.removeEventListener('wheel', wheelListener) } } - }, [pdfJsWrapper, setScale, isEnabled, performZoom]) + }, [pdfJsWrapper, setScale, performZoom]) } diff --git a/services/web/frontend/stylesheets/app/editor/pdf.less b/services/web/frontend/stylesheets/app/editor/pdf.less index b06362a64d..a63766279b 100644 --- a/services/web/frontend/stylesheets/app/editor/pdf.less +++ b/services/web/frontend/stylesheets/app/editor/pdf.less @@ -210,52 +210,6 @@ } } -// TODO: remove this block once the new pdfjs toolbar is fully rolled out -.pdfjs-controls { - position: absolute; - padding: @line-height-computed / 2; - top: 0; - left: 0; - display: inline-block; - z-index: 10; // above the PDF viewer - - .btn-group { - transition: - opacity 0.5s ease, - visibility 0 linear 0.5s; - visibility: hidden; - opacity: 0; - } - - &:focus-within, - &:hover { - // make .pdfjs-controls and its children visible when it or any of its descendants are focused - .btn-group { - transition: none; - visibility: visible; - opacity: 1; - } - } - - &:hover, - &.flash { - .btn-group { - transition: none; - visibility: visible; - opacity: 1; - } - } - - i.fa-arrows-h { - border-right: 2px solid @content-primary; - border-left: 2px solid @content-primary; - } - i.fa-arrows-v { - border-top: 2px solid @content-primary; - border-bottom: 2px solid @content-primary; - } -} - .pdfjs-viewer-controls { display: flex; align-items: center;