diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 639ba85bf1..3e88702941 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -258,7 +258,6 @@ "change": "", "change_currency": "", "change_email_address": "", - "change_how_you_see_the_editor": "", "change_language": "", "change_owner": "", "change_password": "", @@ -606,7 +605,6 @@ "expires": "", "expires_in_days": "", "expires_on": "", - "explore_what_s_new": "", "export_csv": "", "export_project_to_github": "", "failed_to_consent_to_workbench_terms": "", @@ -643,13 +641,11 @@ "filter_projects": "", "find": "", "find_and_check_citations": "", - "find_and_fix_errors_faster": "", "find_out_more": "", "find_out_more_about_institution_login": "", "find_out_more_about_the_file_outline": "", "find_out_more_nt": "", "finding_a_fix": "", - "finish": "", "first_name": "", "fit_to_height": "", "fit_to_width": "", @@ -778,7 +774,6 @@ "good_news_you_already_purchased_this_add_on": "", "good_news_you_are_already_receiving_this_add_on_via_writefull": "", "got_it": "", - "got_questions": "", "group_admin": "", "group_audit_logs": "", "group_has_no_licenses_available_error": "", @@ -930,7 +925,6 @@ "integrations": "", "integrations_like_github": "", "interested_in_cheaper_personal_plan": "", - "introducing_overleafs_new_look": "", "invalid_confirmation_code": "", "invalid_email": "", "invalid_file_name": "", @@ -1173,7 +1167,6 @@ "neither_agree_nor_disagree": "", "new_compile_domain_notice": "", "new_compiles_in_this_project_will_automatically_use_the_newest_version": "", - "new_error_logs_make_it_easier_to_find_whats_wrong": "", "new_file": "", "new_folder": "", "new_name": "", @@ -1457,7 +1450,6 @@ "reactivating": "", "read_lines_from_path": "", "read_more": "", - "read_more_about_the_new_editor_or_explore_our_documentation_for_tips_and_tricks": "", "read_only_dropbox_sync_message": "", "read_only_token": "", "read_write_token": "", @@ -1717,7 +1709,6 @@ "sidebar": "", "sign_up": "", "simple_search_mode": "", - "simplified_working_starts_here": "", "single_sign_on_sso": "", "size": "", "skip": "", @@ -1852,9 +1843,7 @@ "sure_you_want_to_change_plan": "", "sure_you_want_to_delete": "", "sure_you_want_to_leave_group": "", - "switch_between_dark_and_light_mode": "", "switch_compile_mode_for_faster_draft_compilation": "", - "switch_easily_between_your_files_comments_track_changes_and_more": "", "switch_to_editor": "", "switch_to_pdf": "", "switch_to_standard_plan": "", @@ -1914,7 +1903,6 @@ "the_home_of_research_writing": "", "the_latex_engine_used_for_compiling": "", "the_link_may_be_broken_or_you_may_not_have_access_rights": "", - "the_new_and_improved_overleaf_editor_design": "", "the_next_payment_will_be_collected_on": "", "the_original_text_has_changed": "", "the_overleaf_color_scheme": "", @@ -2252,7 +2240,6 @@ "were_performing_maintenance": "", "weve_given_your_dashboard_a_sleek_new_dark_theme_for_more_comfortable_late_night_research_prefer_the_light_switch_back_anytime_right_here": "", "weve_hit_a_problem_try_starting_a_new_chat": "", - "weve_made_it_easier_to_find_and_use_the_tools_you_need_today": "", "weve_matched_your_dashboard_theme_to_your_editor_preferences_but_you_can_change_that_here_anytime": "", "weve_set_your_dashboard_to_dark_mode_to_help_you_stay_focused_if_youre_a_fan_of_a_lighter_look_you_can_easily_switch_themes_here": "", "what_did_you_find_most_helpful": "", diff --git a/services/web/frontend/js/features/ide-react/components/modals/modals.tsx b/services/web/frontend/js/features/ide-react/components/modals/modals.tsx index 4bb2209c1d..2c2e715493 100644 --- a/services/web/frontend/js/features/ide-react/components/modals/modals.tsx +++ b/services/web/frontend/js/features/ide-react/components/modals/modals.tsx @@ -2,7 +2,6 @@ import { memo } from 'react' import ForceDisconnected from '@/features/ide-react/components/modals/force-disconnected' import { UnsavedDocs } from '@/features/ide-react/components/unsaved-docs/unsaved-docs' import SystemMessages from '@/shared/components/system-messages' -import NewEditorOptOutIntroModal from '@/features/ide-redesign/components/new-editor-opt-out-intro-modal' import ViewOnlyAccessModal from '@/features/share-project-modal/components/view-only-access-modal' export const Modals = memo(() => { @@ -11,7 +10,6 @@ export const Modals = memo(() => { - ) diff --git a/services/web/frontend/js/features/ide-react/components/rail/rail.tsx b/services/web/frontend/js/features/ide-react/components/rail/rail.tsx index 73b6c98178..0c49f69c8d 100644 --- a/services/web/frontend/js/features/ide-react/components/rail/rail.tsx +++ b/services/web/frontend/js/features/ide-react/components/rail/rail.tsx @@ -1,4 +1,4 @@ -import { FC, RefObject, useCallback, useEffect, useMemo, useRef } from 'react' +import { FC, RefObject, useCallback, useEffect, useMemo } from 'react' import { useTranslation } from 'react-i18next' import { Nav, TabContainer } from 'react-bootstrap' import { useLayoutContext } from '@/shared/context/layout-context' @@ -30,10 +30,7 @@ import RailResizeHandle from './rail-resize-handle' import RailModals from './rail-modals' import RailOverflowDropdown from './rail-overflow-dropdown' import useRailOverflow from '@/features/ide-react/hooks/use-rail-overflow' -import EditorTourRailTooltip from '@/features/ide-redesign/components/editor-tour/editor-tour-rail-tooltip' import importOverleafModules from '../../../../../macros/import-overleaf-module.macro' -import EditorTourThemeTooltip from '@/features/ide-redesign/components/editor-tour/editor-tour-theme-tooltip' -import EditorTourGotQuestionsTooltip from '@/features/ide-redesign/components/editor-tour/editor-tour-got-questions' import { shouldIncludeElement } from '@/features/ide-react/util/rail-utils' import { useEditorContext } from '@/shared/context/editor-context' import useEventListener from '@/shared/hooks/use-event-listener' @@ -75,9 +72,6 @@ export const RailLayout = () => { const isHistoryView = view === 'history' - const fileTreeRef = useRef(null) - const settingsRef = useRef(null) - useEventListener( 'ui:select-rail-tab', useCallback( @@ -105,7 +99,6 @@ export const RailLayout = () => { // NOTE: We always need to mount the file tree on first load // since it is responsible for opening the initial document. mountOnFirstLoad: true, - ref: fileTreeRef, }, { key: 'full-project-search', @@ -167,7 +160,6 @@ export const RailLayout = () => { sendEvent('rail-click', { tab: 'settings' }) setLeftMenuShown(true) }, - ref: settingsRef, }, ], [setLeftMenuShown, t, sendEvent] @@ -305,9 +297,6 @@ export const RailLayout = () => { - - - {moduleRailPopovers .filter(shouldIncludeElement) .map(({ key, Component, ref }) => ( diff --git a/services/web/frontend/js/features/ide-react/context/react-context-root.tsx b/services/web/frontend/js/features/ide-react/context/react-context-root.tsx index ff6885d957..2a33c3a9a4 100644 --- a/services/web/frontend/js/features/ide-react/context/react-context-root.tsx +++ b/services/web/frontend/js/features/ide-react/context/react-context-root.tsx @@ -29,7 +29,6 @@ import { UserProvider } from '@/shared/context/user-context' import { UserFeaturesProvider } from '@/shared/context/user-features-context' import { UserSettingsProvider } from '@/shared/context/user-settings-context' import { CommandRegistryProvider } from './command-registry-context' -import { NewEditorTourProvider } from '@/features/ide-redesign/contexts/new-editor-tour-context' import { EditorSelectionProvider } from '@/shared/context/editor-selection-context' import importOverleafModules from '../../../../macros/import-overleaf-module.macro' import { TutorialProvider } from '@/shared/context/tutorial-context' @@ -75,7 +74,6 @@ export const ReactContextRoot: FC< UserSettingsProvider, CommandRegistryProvider, UserFeaturesProvider, - NewEditorTourProvider, EditorSelectionProvider, TutorialProvider, ...providers, @@ -114,35 +112,33 @@ export const ReactContextRoot: FC< - - - - - - - - - - - - - - { - childrenWrappedWithDynamicProviders - } - - - - - - - - - - - - - + + + + + + + + + + + + + { + childrenWrappedWithDynamicProviders + } + + + + + + + + + + + + diff --git a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-got-questions.tsx b/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-got-questions.tsx deleted file mode 100644 index fb5a9b742d..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-got-questions.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Trans, useTranslation } from 'react-i18next' -import EditorTourTooltip from './editor-tour-tooltip' - -export default function EditorTourGotQuestionsTooltip({ - target, -}: { - target: HTMLElement | null -}) { - const { t } = useTranslation() - return ( - - , - /* eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-key */ - , - ]} - /> - - ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-logs-tooltip.tsx b/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-logs-tooltip.tsx deleted file mode 100644 index 6d22656d0d..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-logs-tooltip.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { useTranslation } from 'react-i18next' -import EditorTourTooltip from './editor-tour-tooltip' - -export default function EditorTourLogsTooltip({ - target, -}: { - target: HTMLElement | null -}) { - const { t } = useTranslation() - - return ( - - {t('new_error_logs_make_it_easier_to_find_whats_wrong')} - - ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-rail-tooltip.tsx b/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-rail-tooltip.tsx deleted file mode 100644 index 85fae1055b..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-rail-tooltip.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { useTranslation } from 'react-i18next' -import EditorTourTooltip from './editor-tour-tooltip' - -export default function EditorTourRailTooltip({ - target, -}: { - target: HTMLElement | null -}) { - const { t } = useTranslation() - - return ( - - {t('switch_easily_between_your_files_comments_track_changes_and_more')} - - ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-theme-tooltip.tsx b/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-theme-tooltip.tsx deleted file mode 100644 index 1c8adadad1..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-theme-tooltip.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Trans, useTranslation } from 'react-i18next' -import EditorTourTooltip from './editor-tour-tooltip' - -export default function EditorTourThemeTooltip({ - target, -}: { - target: HTMLElement | null -}) { - const { t } = useTranslation() - - return ( - - }} - /> - - ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-tooltip.tsx b/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-tooltip.tsx deleted file mode 100644 index 2c63a2c51d..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/editor-tour/editor-tour-tooltip.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { Overlay, OverlayProps, Popover } from 'react-bootstrap' -import { - NewEditorTourStage, - useNewEditorTourContext, -} from '../../contexts/new-editor-tour-context' -import Close from '@/shared/components/close' -import OLButton from '@/shared/components/ol/ol-button' -import { useTranslation } from 'react-i18next' -import { useEffect } from 'react' -import { useEditorAnalytics } from '@/shared/hooks/use-editor-analytics' - -export default function EditorTourTooltip({ - children, - target, - header, - stage, - placement, -}: { - children: React.ReactNode - target: HTMLElement | null - header: string - stage: NewEditorTourStage - placement?: OverlayProps['placement'] -}) { - const { t } = useTranslation() - const { - shouldShowTourStage, - dismissTour, - goToNextStage, - stageNumber, - totalStages, - finishTour, - } = useNewEditorTourContext() - const { sendEvent } = useEditorAnalytics() - - const show = shouldShowTourStage(stage) - - useEffect(() => { - if (show) { - sendEvent('new-editor-tour-shown', { stage: stageNumber }) - } - }, [show, stageNumber, sendEvent]) - - const isFinalStage = stageNumber === totalStages - - if (!show) { - return null - } - - return ( - - - - {header} - - - - {children} -
-
- {stageNumber}/{totalStages} -
- {isFinalStage ? ( - - {t('finish')} - - ) : ( - - {t('next')} - - )} -
-
-
-
- ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/new-editor-opt-out-intro-modal.tsx b/services/web/frontend/js/features/ide-redesign/components/new-editor-opt-out-intro-modal.tsx deleted file mode 100644 index 9a9b1cb4d6..0000000000 --- a/services/web/frontend/js/features/ide-redesign/components/new-editor-opt-out-intro-modal.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { - OLModal, - OLModalBody, - OLModalFooter, - OLModalHeader, - OLModalTitle, -} from '@/shared/components/ol/ol-modal' -import { useCallback, useEffect, useState } from 'react' -import useTutorial from '@/shared/hooks/promotions/use-tutorial' -import OLButton from '@/shared/components/ol/ol-button' -import { useTranslation } from 'react-i18next' -import { useIsNewToNewEditor } from '../utils/new-editor-utils' -import { useNewEditorTourContext } from '../contexts/new-editor-tour-context' -import promoVideo from './new-editor-promo-video.mp4' - -const TUTORIAL_KEY = 'new-editor-intro-2' - -export default function NewEditorOptOutIntroModal() { - const { - tryShowingPopup, - showPopup: showModal, - dismissTutorial, - completeTutorial, - clearPopup, - checkCompletion, - } = useTutorial(TUTORIAL_KEY, { - name: TUTORIAL_KEY, - }) - const { startTour } = useNewEditorTourContext() - - const { t } = useTranslation() - - const [hasShown, setHasShown] = useState(false) - const isNewToNewEditor = useIsNewToNewEditor() - - useEffect(() => { - if (isNewToNewEditor && !hasShown && !checkCompletion()) { - tryShowingPopup('notification-prompt') - setHasShown(true) - } - }, [tryShowingPopup, checkCompletion, isNewToNewEditor, hasShown]) - - const startProductTour = useCallback(() => { - completeTutorial({ event: 'notification-click', action: 'complete' }) - startTour() - clearPopup() - }, [completeTutorial, startTour, clearPopup]) - - const closeModal = useCallback(() => { - dismissTutorial('notification-dismiss') - clearPopup() - }, [dismissTutorial, clearPopup]) - - return ( - - - {t('introducing_overleafs_new_look')} - - -
{t('the_new_and_improved_overleaf_editor_design')}
- {/* eslint-disable-next-line jsx-a11y/media-has-caption */} - -
- {t('weve_made_it_easier_to_find_and_use_the_tools_you_need_today')} -
-
- - - {t('explore_what_s_new')} - - -
- ) -} diff --git a/services/web/frontend/js/features/ide-redesign/components/new-editor-promo-video.mp4 b/services/web/frontend/js/features/ide-redesign/components/new-editor-promo-video.mp4 deleted file mode 100644 index 0a6e8af7ee..0000000000 Binary files a/services/web/frontend/js/features/ide-redesign/components/new-editor-promo-video.mp4 and /dev/null differ diff --git a/services/web/frontend/js/features/ide-redesign/contexts/new-editor-tour-context.tsx b/services/web/frontend/js/features/ide-redesign/contexts/new-editor-tour-context.tsx deleted file mode 100644 index 4ff84d613b..0000000000 --- a/services/web/frontend/js/features/ide-redesign/contexts/new-editor-tour-context.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { useLayoutContext } from '@/shared/context/layout-context' -import { - createContext, - FC, - useCallback, - useContext, - useMemo, - useState, -} from 'react' - -export type NewEditorTourStage = 'rail' | 'logs' | 'theme' | 'got-questions' - -const NewEditorTourContext = createContext< - | { - stage: NewEditorTourStage - stageNumber: number - totalStages: number - isShowing: boolean - shouldShowTourStage: (tourStage: NewEditorTourStage) => boolean - startTour: () => void - goToNextStage: () => void - finishTour: () => void - dismissTour: () => void - } - | undefined ->(undefined) - -const STAGES: NewEditorTourStage[] = ['rail', 'logs', 'theme', 'got-questions'] -const EDITOR_ONLY_STAGES: NewEditorTourStage[] = [ - 'rail', - 'theme', - 'got-questions', -] - -export const NewEditorTourProvider: FC = ({ - children, -}) => { - const [stage, setStage] = useState('rail') - const [showTour, setShowTour] = useState(false) - const { view, pdfLayout } = useLayoutContext() - const pdfIsOpen = pdfLayout === 'sideBySide' || view === 'pdf' - - const stagesToShow = useMemo( - () => (pdfIsOpen ? STAGES : EDITOR_ONLY_STAGES), - [pdfIsOpen] - ) - - const startTour = useCallback(() => { - setShowTour(true) - }, []) - - const stageNumber = useMemo( - () => stagesToShow.indexOf(stage) + 1, - [stage, stagesToShow] - ) - const totalStages = stagesToShow.length - - const goToNextStage = useCallback(() => { - setStage(stagesToShow[stageNumber]) - }, [stageNumber, stagesToShow]) - - const dismissTour = useCallback(() => { - setShowTour(false) - }, []) - - const finishTour = useCallback(() => { - setShowTour(false) - }, []) - - const shouldShowTourStage = useCallback( - (tourStage: NewEditorTourStage) => { - return showTour && stage === tourStage - }, - [showTour, stage] - ) - - const value = useMemo( - () => ({ - stage, - stageNumber, - totalStages, - shouldShowTourStage, - startTour, - goToNextStage, - finishTour, - dismissTour, - isShowing: showTour, - }), - [ - stage, - stageNumber, - totalStages, - shouldShowTourStage, - startTour, - goToNextStage, - finishTour, - dismissTour, - showTour, - ] - ) - - return ( - - {children} - - ) -} - -export const useNewEditorTourContext = () => { - const context = useContext(NewEditorTourContext) - if (!context) { - throw new Error( - 'useNewEditorTourContext is only available inside RailProvider' - ) - } - return context -} diff --git a/services/web/frontend/js/features/ide-redesign/images/labs-icon.svg b/services/web/frontend/js/features/ide-redesign/images/labs-icon.svg deleted file mode 100644 index f26bd28bfb..0000000000 --- a/services/web/frontend/js/features/ide-redesign/images/labs-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - 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 deleted file mode 100644 index d54b3a182f..0000000000 --- a/services/web/frontend/js/features/ide-redesign/utils/new-editor-utils.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useUserSettingsContext } from '@/shared/context/user-settings-context' - -export const useIsNewToNewEditor = () => { - const { userSettings } = useUserSettingsContext() - return !userSettings.enableNewEditorLegacy -} diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.tsx b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.tsx index ca4d8a60ee..90bd68035c 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.tsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar.tsx @@ -1,4 +1,4 @@ -import { memo, useCallback, useState } from 'react' +import { memo } from 'react' import { useTranslation } from 'react-i18next' import OLButtonToolbar from '@/shared/components/ol/ol-button-toolbar' import PdfCompileButton from '@/features/pdf-preview/components/pdf-compile-button' @@ -6,18 +6,9 @@ import PdfHybridDownloadButton from '@/features/pdf-preview/components/pdf-hybri import { DetachedSynctexControl } from '@/features/pdf-preview/components/detach-synctex-control' import SwitchToEditorButton from '@/features/pdf-preview/components/switch-to-editor-button' import PdfHybridLogsButton from '@/features/pdf-preview/components/pdf-hybrid-logs-button' -import EditorTourLogsTooltip from '../../ide-redesign/components/editor-tour/editor-tour-logs-tooltip' function PdfPreviewHybridToolbar() { const { t } = useTranslation() - - const [logsButtonElt, setLogsButtonElt] = useState(null) - const logsButtonRef = useCallback((node: HTMLButtonElement) => { - if (node !== null) { - setLogsButtonElt(node) - } - }, []) - // TODO: add detached pdf logic return (
- + -
diff --git a/services/web/frontend/stylesheets/pages/all.scss b/services/web/frontend/stylesheets/pages/all.scss index 7e9ce17456..39c11aa770 100644 --- a/services/web/frontend/stylesheets/pages/all.scss +++ b/services/web/frontend/stylesheets/pages/all.scss @@ -35,7 +35,7 @@ @import 'editor/math-preview'; @import 'editor/references-search'; @import 'editor/editor-survey'; -@import 'editor/editor-tour-tooltip'; +@import 'editor/themed-tooltip'; @import 'editor/new-editor-promo-modal'; @import 'error-pages'; @import 'website-redesign'; diff --git a/services/web/frontend/stylesheets/pages/editor/editor-tour-tooltip.scss b/services/web/frontend/stylesheets/pages/editor/editor-tour-tooltip.scss deleted file mode 100644 index 86a348011c..0000000000 --- a/services/web/frontend/stylesheets/pages/editor/editor-tour-tooltip.scss +++ /dev/null @@ -1,47 +0,0 @@ -.editor-tour-tooltip { - --bs-popover-bg: var(--bg-light-primary); - --bs-popover-header-bg: var(--bg-light-primary); - --bs-popover-body-color: var(--content-primary); - --bs-popover-header-color: var(--content-primary); - --editor-tour-tooltip-link-color: var(--link-ui); - --editor-tour-tooltip-link-hover-color: var(--link-ui-hover); - --editor-tour-tooltip-link-visited-color: var(--link-ui-visited); - - .material-symbols { - color: var(--bs-popover-header-color); - } - - a { - color: var(--editor-tour-tooltip-link-color); - - &:visited { - color: var(--editor-tour-tooltip-link-hover-color); - } - - &:hover { - color: var(--editor-tour-tooltip-link-visited-color); - } - } -} - -@include theme('light') { - .editor-tour-tooltip { - --bs-popover-bg: var(--bg-dark-primary); - --bs-popover-header-bg: var(--bg-dark-primary); - --bs-popover-body-color: var(--content-primary-dark); - --bs-popover-header-color: var(--content-primary-dark); - --editor-tour-tooltip-link-color: var(--link-ui-dark); - --editor-tour-tooltip-link-hover-color: var(--link-ui-hover-dark); - --editor-tour-tooltip-link-visited-color: var(--link-ui-visited-dark); - } -} - -.editor-tour-tooltip-footer { - display: flex; - justify-content: space-between; - align-items: center; - - .btn-link { - color: var(--bs-popover-body-color); - } -} diff --git a/services/web/frontend/stylesheets/pages/editor/themed-tooltip.scss b/services/web/frontend/stylesheets/pages/editor/themed-tooltip.scss new file mode 100644 index 0000000000..c6fe3528bf --- /dev/null +++ b/services/web/frontend/stylesheets/pages/editor/themed-tooltip.scss @@ -0,0 +1,21 @@ +.themed-tooltip { + --bs-popover-bg: var(--bg-light-primary); + --bs-popover-header-bg: var(--bg-light-primary); + --bs-popover-body-color: var(--content-primary); + --bs-popover-header-color: var(--content-primary); + + .material-symbols { + color: var(--bs-popover-header-color); + } +} + +@include theme('light') { + .themed-tooltip { + @include dark-bg; + + --bs-popover-bg: var(--bg-dark-primary); + --bs-popover-header-bg: var(--bg-dark-primary); + --bs-popover-body-color: var(--content-primary-dark); + --bs-popover-header-color: var(--content-primary-dark); + } +} diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 98a9aed29e..b0837feef0 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -324,7 +324,6 @@ "change": "Change", "change_currency": "Change currency", "change_email_address": "Change email address", - "change_how_you_see_the_editor": "Change how you see the editor using the updated Appearance settings.", "change_language": "Change language", "change_owner": "Change owner", "change_password": "Change password", @@ -776,7 +775,6 @@ "expires_on": "Expires: __date__", "expiry": "Expiry Date", "explore_all_plans": "Explore all plans", - "explore_what_s_new": "Explore what’s new", "export_csv": "Export CSV", "export_project_to_github": "Export Project to GitHub", "failed_to_consent_to_workbench_terms": "Failed to consent to workbench terms. Please try again later.", @@ -823,7 +821,6 @@ "filters": "Filters", "find": "Find", "find_and_check_citations": "Find and check citations", - "find_and_fix_errors_faster": "Find and fix errors faster", "find_out_more": "Find out More", "find_out_more_about_institution_login": "Find out more about institutional login", "find_out_more_about_the_file_outline": "Find out more about the file outline", @@ -988,7 +985,6 @@ "good_news_you_already_purchased_this_add_on": "Good news! You already have this add-on, so no need to pay again.", "good_news_you_are_already_receiving_this_add_on_via_writefull": "Good news! You already have this add-on via your Writefull subscription. No need to pay again.", "got_it": "Got it", - "got_questions": "Got questions?", "great_for_getting_started": "Great for getting started", "great_for_small_teams_and_departments": "Great for small teams and departments", "group": "Group", @@ -1168,7 +1164,6 @@ "integrations": "Integrations", "integrations_like_github": "Integrations like GitHub Sync", "interested_in_cheaper_personal_plan": "Would you be interested in the cheaper <0>__price__ Personal plan?", - "introducing_overleafs_new_look": "Introducing __appName__’s new look", "invalid_certificate": "Invalid certificate. Please check the certificate and try again.", "invalid_confirmation_code": "That didn’t work. Please check the code and try again.", "invalid_email": "An email address is invalid", @@ -1506,7 +1501,6 @@ "neither_agree_nor_disagree": "Neither agree nor disagree", "new_compile_domain_notice": "Something might be blocking your browser from accessing Overleaf’s PDF download location, <0>__compilesUserContentDomain__. This could be caused by network blocking or a strict browser plugin rule. Please follow our <1>troubleshooting guide.", "new_compiles_in_this_project_will_automatically_use_the_newest_version": "New compiles in this project will automatically use the newest version. <0>Learn how to change compiler settings", - "new_error_logs_make_it_easier_to_find_whats_wrong": "New error logs make it easier to find what’s wrong and fix your document, so you can get compiling again.", "new_file": "New file", "new_folder": "New folder", "new_name": "New name", @@ -1877,7 +1871,6 @@ "reactivating": "Reactivating", "read_lines_from_path": "Read lines from __path__", "read_more": "Read more", - "read_more_about_the_new_editor_or_explore_our_documentation_for_tips_and_tricks": "<0>Read more about the new editor, or <1>explore our documentation for tips and tricks.", "read_only_dropbox_sync_message": "As a read-only viewer you can sync the current project version to Dropbox, but changes made in Dropbox will <0>not sync back to Overleaf.", "read_only_token": "Read-Only Token", "read_write_token": "Read-Write Token", @@ -2194,7 +2187,6 @@ "sign_up_for_free": "Sign up for free", "sign_up_for_free_account": "Sign up for a free account and receive regular updates", "simple_search_mode": "Simple search", - "simplified_working_starts_here": "Simplified working starts here", "single_sign_on_sso": "Single Sign-On (SSO)", "site_description": "An online LaTeX editor that’s easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", "site_wide_option_available": "Site-wide option available", @@ -2356,9 +2348,7 @@ "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", "sv": "Swedish", - "switch_between_dark_and_light_mode": "Switch between dark and light mode", "switch_compile_mode_for_faster_draft_compilation": "Switch compile mode for faster draft compilation", - "switch_easily_between_your_files_comments_track_changes_and_more": "Switch easily between your files, comments, track changes, and more in the new left-hand menu.", "switch_to_editor": "Switch to editor", "switch_to_pdf": "Switch to PDF", "switch_to_standard_plan": "Switch to Standard plan", @@ -2439,7 +2429,6 @@ "the_home_of_research_writing": "The home of research writing.", "the_latex_engine_used_for_compiling": "The LaTeX engine used for compiling", "the_link_may_be_broken_or_you_may_not_have_access_rights": "The link may be broken or you may not have access rights.", - "the_new_and_improved_overleaf_editor_design": "The new and improved __appName__ editor design brings you a cleaner, less cluttered interface to help you focus on what matters—your work.", "the_next_payment_will_be_collected_on": "The next payment will be collected on __date__.", "the_original_text_has_changed": "The original text has changed, so this suggestion can’t be applied", "the_overleaf_color_scheme": "The __appName__ color scheme", @@ -2813,7 +2802,6 @@ "were_performing_maintenance": "We’re performing maintenance on Overleaf and you need to wait a moment. Sorry for any inconvenience. The editor will refresh automatically in __seconds__ seconds.", "weve_given_your_dashboard_a_sleek_new_dark_theme_for_more_comfortable_late_night_research_prefer_the_light_switch_back_anytime_right_here": "We’ve given your dashboard a sleek new dark theme for more comfortable late-night research. Prefer the light? Switch back anytime right here.", "weve_hit_a_problem_try_starting_a_new_chat": "We’ve hit a problem. Try starting a new chat.", - "weve_made_it_easier_to_find_and_use_the_tools_you_need_today": "The new editor design makes it easier to find and use the tools you need today, while making space for the new features you’ll love tomorrow.", "weve_matched_your_dashboard_theme_to_your_editor_preferences_but_you_can_change_that_here_anytime": "We’ve matched your dashboard theme to your editor preferences, but you can change that here anytime.", "weve_set_your_dashboard_to_dark_mode_to_help_you_stay_focused_if_youre_a_fan_of_a_lighter_look_you_can_easily_switch_themes_here": "We’ve set your dashboard to dark mode to help you stay focused. If you’re a fan of a lighter look, you can easily switch themes here.", "what_did_you_find_most_helpful": "What did you find most helpful?",