diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json
index 54f649444e..a7ef41cba1 100644
--- a/services/web/frontend/extracted-translations.json
+++ b/services/web/frontend/extracted-translations.json
@@ -47,7 +47,6 @@
"collapse": "",
"commit": "",
"common": "",
- "compile_error_description": "",
"compile_error_entry_description": "",
"compile_larger_projects": "",
"compile_mode": "",
@@ -93,7 +92,6 @@
"files_cannot_include_invalid_characters": "",
"find_out_more_about_the_file_outline": "",
"find_the_symbols_you_need_with_premium": "",
- "first_error_popup_label": "",
"fold_line": "",
"following_paths_conflict": "",
"free_accounts_have_timeout_upgrade_to_increase": "",
@@ -131,7 +129,6 @@
"go_page": "",
"go_prev_page": "",
"go_to_code_location_in_pdf": "",
- "go_to_error_location": "",
"go_to_pdf_location_in_code": "",
"have_an_extra_backup": "",
"headers": "",
@@ -196,7 +193,6 @@
"log_viewer_error": "",
"logs_and_output_files": "",
"logs_pane_info_message": "",
- "logs_pane_info_message_popup": "",
"main_file_not_found": "",
"make_private": "",
"manage_files_from_your_dropbox_folder": "",
@@ -210,12 +206,8 @@
"mendeley_reference_loading_error_forbidden": "",
"mendeley_sync_description": "",
"menu": "",
- "n_errors": "",
- "n_errors_plural": "",
"n_items": "",
"n_items_plural": "",
- "n_warnings": "",
- "n_warnings_plural": "",
"navigate_log_source": "",
"navigation": "",
"need_to_upgrade_for_more_collabs": "",
@@ -306,20 +298,10 @@
"review": "",
"revoke": "",
"revoke_invite": "",
- "run_syntax_check_now": "",
"search": "",
- "search_all": "",
"search_bib_files": "",
- "search_close": "",
- "search_command_all": "",
- "search_command_find": "",
- "search_command_go": "",
- "search_command_go_to_line": "",
- "search_command_replace": "",
- "search_current_match": "",
"search_match_case": "",
"search_next": "",
- "search_on_line": "",
"search_previous": "",
"search_references": "",
"search_regexp": "",
@@ -371,7 +353,6 @@
"to_add_more_collaborators": "",
"to_change_access_permissions": "",
"toggle_compile_options_menu": "",
- "toggle_output_files_list": "",
"too_many_attempts": "",
"too_many_files_uploaded_throttled_short_period": "",
"too_many_requests": "",
@@ -394,22 +375,15 @@
"upload": "",
"url_to_fetch_the_file_from": "",
"use_your_own_machine": "",
- "validation_issue_description": "",
"validation_issue_entry_description": "",
- "view_error": "",
- "view_error_plural": "",
"view_logs": "",
"view_pdf": "",
- "view_warning": "",
- "view_warning_plural": "",
"we_cant_find_any_sections_or_subsections_in_this_file": "",
"with_premium_subscription_you_also_get": "",
"word_count": "",
"work_offline": "",
"work_with_non_overleaf_users": "",
"your_message": "",
- "your_project_has_an_error": "",
- "your_project_has_an_error_plural": "",
"zotero_groups_loading_error": "",
"zotero_is_premium": "",
"zotero_reference_loading_error": "",
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-download-button.js b/services/web/frontend/js/features/pdf-preview/components/pdf-download-button.js
deleted file mode 100644
index e962d5ce76..0000000000
--- a/services/web/frontend/js/features/pdf-preview/components/pdf-download-button.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import { useTranslation } from 'react-i18next'
-import { Button, Dropdown } from 'react-bootstrap'
-import Icon from '../../../shared/components/icon'
-import ControlledDropdown from '../../../shared/components/controlled-dropdown'
-import PdfFileList from './pdf-file-list'
-import { memo } from 'react'
-import { useCompileContext } from '../../../shared/context/compile-context'
-
-function PdfDownloadButton() {
- const { compiling, pdfDownloadUrl, fileList } = useCompileContext()
-
- const { t } = useTranslation()
-
- const disabled = compiling || !pdfDownloadUrl
-
- return (
-
-
-
-
-
-
-
-
-
- )
-}
-
-export default memo(PdfDownloadButton)
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button-content.js b/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button-content.js
deleted file mode 100644
index 992712875a..0000000000
--- a/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button-content.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { useTranslation } from 'react-i18next'
-import Icon from '../../../shared/components/icon'
-import PropTypes from 'prop-types'
-import { memo } from 'react'
-
-export function PdfLogsButtonContent({
- showLogs,
- logEntries,
- codeCheckFailed,
-}) {
- const { t } = useTranslation()
-
- if (showLogs) {
- return (
- <>
-
- {t('view_pdf')}
- >
- )
- }
-
- if (codeCheckFailed) {
- return (
- <>
-
-
- {t('code_check_failed')}
-
- >
- )
- }
-
- const count = logEntries?.errors?.length || logEntries?.warnings?.length
-
- if (!count) {
- return (
- <>
-
-
- {t('view_logs')}
-
- >
- )
- }
-
- return (
- <>
-
-
- {logEntries.errors?.length
- ? t('your_project_has_an_error', { count })
- : t('view_warning', { count })}
-
- {count > 1 && ` (${count > 99 ? '99+' : count})`}
-
-
- >
- )
-}
-
-PdfLogsButtonContent.propTypes = {
- codeCheckFailed: PropTypes.bool,
- showLogs: PropTypes.bool,
- logEntries: PropTypes.object,
-}
-
-export default memo(PdfLogsButtonContent)
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button.js b/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button.js
deleted file mode 100644
index cb986199a2..0000000000
--- a/services/web/frontend/js/features/pdf-preview/components/pdf-logs-button.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import { memo, useCallback, useMemo } from 'react'
-import { Button } from 'react-bootstrap'
-import { PdfLogsButtonContent } from './pdf-logs-button-content'
-import { sendMBOnce } from '../../../infrastructure/event-tracking'
-import { useCompileContext } from '../../../shared/context/compile-context'
-
-function PdfLogsButton() {
- const { codeCheckFailed, error, logEntries, showLogs, setShowLogs } =
- useCompileContext()
-
- const buttonStyle = useMemo(() => {
- if (showLogs) {
- return 'default'
- }
-
- if (codeCheckFailed) {
- return 'danger'
- }
-
- if (logEntries) {
- if (logEntries.errors?.length) {
- return 'danger'
- }
-
- if (logEntries.warnings?.length) {
- return 'warning'
- }
- }
-
- return 'default'
- }, [codeCheckFailed, logEntries, showLogs])
-
- const handleClick = useCallback(() => {
- setShowLogs(value => {
- if (!value) {
- sendMBOnce('ide-open-logs-once')
- }
-
- return !value
- })
- }, [setShowLogs])
-
- return (
-
- )
-}
-
-export default memo(PdfLogsButton)
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-pane.js b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-pane.js
index 10391d040e..2ae4f99ee9 100644
--- a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-pane.js
+++ b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-pane.js
@@ -4,13 +4,8 @@ import PdfLogsViewer from './pdf-logs-viewer'
import PdfViewer from './pdf-viewer'
import LoadingSpinner from '../../../shared/components/loading-spinner'
import PdfHybridPreviewToolbar from './pdf-preview-hybrid-toolbar'
-import PdfPreviewToolbar from './pdf-preview-toolbar'
import { useCompileContext } from '../../../shared/context/compile-context'
-const newPreviewToolbar = new URLSearchParams(window.location.search).has(
- 'new_preview_toolbar'
-)
-
function PdfPreviewPane() {
const { pdfUrl } = useCompileContext()
const classes = classNames('pdf', 'full-size', {
@@ -18,7 +13,7 @@ function PdfPreviewPane() {
})
return (
- {newPreviewToolbar ?
:
}
+
}>
diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-toolbar.js b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-toolbar.js
deleted file mode 100644
index 3ade98ab66..0000000000
--- a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-toolbar.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import PdfCompileButton from './pdf-compile-button'
-import PdfDownloadButton from './pdf-download-button'
-import PdfLogsButton from './pdf-logs-button'
-import PdfExpandButton from './pdf-expand-button'
-import { ButtonToolbar } from 'react-bootstrap'
-import { memo, useState } from 'react'
-import useToolbarBreakpoint from '../hooks/use-toolbar-breakpoint'
-
-const isPreview = new URLSearchParams(window.location.search).get('preview')
-
-function PdfPreviewToolbar() {
- const [element, setElement] = useState()
-
- const toolbarClasses = useToolbarBreakpoint(element)
-
- return (
-
setElement(element)}>
-
-
-
-
-
- )
-}
-
-export default memo(PdfPreviewToolbar)
diff --git a/services/web/frontend/js/features/pdf-preview/hooks/use-toolbar-breakpoint.js b/services/web/frontend/js/features/pdf-preview/hooks/use-toolbar-breakpoint.js
deleted file mode 100644
index 8fa1704f70..0000000000
--- a/services/web/frontend/js/features/pdf-preview/hooks/use-toolbar-breakpoint.js
+++ /dev/null
@@ -1,71 +0,0 @@
-import { useEffect, useLayoutEffect, useMemo, useState } from 'react'
-import classnames from 'classnames'
-
-const measureContentWidth = element =>
- [...element.querySelectorAll('button')].reduce(
- (output, item) => output + item.scrollWidth,
- 0
- )
-
-export default function useToolbarBreakpoint(element) {
- const [breakpoint, setBreakpoint] = useState(2)
- const [recalculate, setRecalculate] = useState(true)
-
- const [resizeObserver] = useState(() => {
- if ('ResizeObserver' in window) {
- return new ResizeObserver(() => {
- setBreakpoint(2)
- setRecalculate(true)
- })
- }
- })
-
- const [mutationObserver] = useState(
- () =>
- new MutationObserver(() => {
- setBreakpoint(2)
- setRecalculate(true)
- })
- )
-
- useEffect(() => {
- if (element && mutationObserver && resizeObserver) {
- resizeObserver.observe(element)
-
- mutationObserver.observe(element, {
- childList: true,
- subtree: true,
- characterData: true,
- })
-
- return () => {
- mutationObserver.disconnect()
- resizeObserver.disconnect()
- }
- }
- }, [element, mutationObserver, resizeObserver])
-
- useLayoutEffect(() => {
- if (recalculate && element && breakpoint) {
- const contentWidth = measureContentWidth(element) + 150 // NOTE: remove this constant?
-
- if (contentWidth > element.clientWidth) {
- setBreakpoint(value => value - 1)
- } else {
- setRecalculate(false)
- }
- }
- }, [element, breakpoint, recalculate])
-
- return useMemo(
- () =>
- classnames({
- toolbar: true,
- 'toolbar-pdf': true,
- 'toolbar-large': breakpoint === 2,
- 'toolbar-medium': breakpoint === 1,
- 'toolbar-small': breakpoint === 0,
- }),
- [breakpoint]
- )
-}
diff --git a/services/web/frontend/stories/pdf-preview.stories.js b/services/web/frontend/stories/pdf-preview.stories.js
index da41838656..880457f59a 100644
--- a/services/web/frontend/stories/pdf-preview.stories.js
+++ b/services/web/frontend/stories/pdf-preview.stories.js
@@ -5,7 +5,6 @@ import { setupContext } from './fixtures/context'
import { Button } from 'react-bootstrap'
import PdfPreviewPane from '../js/features/pdf-preview/components/pdf-preview-pane'
import PdfPreview from '../js/features/pdf-preview/components/pdf-preview'
-import PdfPreviewToolbar from '../js/features/pdf-preview/components/pdf-preview-toolbar'
import PdfFileList from '../js/features/pdf-preview/components/pdf-file-list'
import { buildFileList } from '../js/features/pdf-preview/util/file-list'
import PdfLogsViewer from '../js/features/pdf-preview/components/pdf-logs-viewer'
@@ -30,7 +29,6 @@ export default {
title: 'PDF Preview',
component: PdfPreview,
subcomponents: {
- PdfPreviewToolbar,
PdfPreviewHybridToolbar,
PdfFileList,
PdfPreviewError,
@@ -330,20 +328,6 @@ export const DisplayError = () => {
)
}
-export const Toolbar = () => {
- useFetchMock(fetchMock => {
- mockCompile(fetchMock, 500)
- mockBuildFile(fetchMock)
- })
-
- return withContextRoot(
-
,
- scope
- )
-}
-
export const HybridToolbar = () => {
useFetchMock(fetchMock => {
mockCompile(fetchMock, 500)