From 8a75434552b3a1a79453647e8df7ee5425841b47 Mon Sep 17 00:00:00 2001
From: Tim Down <158919+timdown@users.noreply.github.com>
Date: Thu, 17 Jul 2025 09:03:55 +0100
Subject: [PATCH] Merge pull request #24030 from
overleaf/td-bs5-remove-font-awesome
Remove Font Awesome in BS5
GitOrigin-RevId: 3ee9b136ac9ecda57ba9985d1da7d7a7e6b275e6
---
.../views/_mixins/faq_search-marketing.pug | 4 +-
.../layout/navbar-marketing-bootstrap-5.pug | 3 +-
.../web/app/views/layout/navbar-marketing.pug | 2 +-
.../views/layout/navbar-website-redesign.pug | 2 +-
.../web/frontend/extracted-translations.json | 1 +
.../js/features/contact-form/search.js | 8 ++-
.../components/left-menu-button.tsx | 2 +-
.../components/layout-dropdown-button.tsx | 2 +-
.../frontend/js/features/faq-search/index.js | 1 +
.../js/features/form-helpers/hydrate-form.js | 6 +--
.../features/form-helpers/input-validator.js | 4 +-
.../components/group-members.tsx | 2 +-
.../components/managers-table.tsx | 2 +-
.../change-list/owner-paywall-prompt.tsx | 21 +-------
.../components/change-list/toggle-switch.tsx | 4 +-
.../components/resize/horizontal-toggler.tsx | 12 ++++-
.../components/pdf-log-entry-raw-content.tsx | 12 +----
.../components/pdf-zoom-dropdown.tsx | 2 +-
.../components/color-picker/color-picker.tsx | 2 +-
.../accessibility-survey-banner.tsx | 2 +-
.../settings/components/linking/status.tsx | 22 +++-----
.../components/add-collaborators.tsx | 2 +-
.../components/editor-switch.tsx | 2 +-
.../paste-html/pasted-content-menu.tsx | 5 +-
.../toolbar/column-width-modal/modal.tsx | 5 +-
.../toolbar/section-heading-dropdown.tsx | 4 +-
.../extensions/visual/pasted-content.tsx | 3 ++
.../extensions/visual/visual-theme.ts | 3 ++
.../visual-widgets/editable-graphics.ts | 18 +++++--
.../visual/visual-widgets/preamble.ts | 46 +++++++++++++----
.../visual-widgets/table-rendering-error.ts | 8 +--
.../change-plan/individual-plans-table.tsx | 12 +++--
.../modals/change-to-group-modal.tsx | 6 +--
.../components/token-access-root.tsx | 6 +--
.../create-icon.js => utils/material-icon.ts} | 7 +--
.../components/word-counts.tsx | 8 +--
.../frontend/js/shared/components/close.tsx | 3 +-
.../js/shared/components/icon-checked.jsx | 10 ----
.../frontend/js/shared/components/icon.tsx | 44 ----------------
.../js/shared/components/processing.jsx | 23 ---------
...rade-benefits.jsx => upgrade-benefits.tsx} | 7 +--
.../web/frontend/stories/icon.stories.jsx | 50 ------------------
.../web/frontend/stories/ui/badge.stories.tsx | 4 +-
.../bootstrap-5/components/all.scss | 1 +
.../components/upgrade-benefits.scss | 3 ++
.../stylesheets/bootstrap-5/main-style.scss | 1 -
.../bootstrap-5/modals/contact-us-modal.scss | 9 ----
.../bootstrap-5/modules/symbol-palette.scss | 4 --
.../bootstrap-5/pages/editor/ide.scss | 35 ++++---------
.../frontend/stylesheets/core/utilities.less | 6 ++-
services/web/locales/en.json | 2 +-
.../frontend/js/components/register-form.jsx | 2 +-
.../codemirror-editor-figure-modal.spec.tsx | 37 ++++++++++----
.../frontend/shared/components/icon.test.jsx | 51 -------------------
.../shared/components/processing.test.jsx | 16 ------
55 files changed, 192 insertions(+), 367 deletions(-)
rename services/web/frontend/js/features/{form-helpers/create-icon.js => utils/material-icon.ts} (50%)
delete mode 100644 services/web/frontend/js/shared/components/icon-checked.jsx
delete mode 100644 services/web/frontend/js/shared/components/icon.tsx
delete mode 100644 services/web/frontend/js/shared/components/processing.jsx
rename services/web/frontend/js/shared/components/{upgrade-benefits.jsx => upgrade-benefits.tsx} (78%)
delete mode 100644 services/web/frontend/stories/icon.stories.jsx
create mode 100644 services/web/frontend/stylesheets/bootstrap-5/components/upgrade-benefits.scss
delete mode 100644 services/web/test/frontend/shared/components/icon.test.jsx
delete mode 100644 services/web/test/frontend/shared/components/processing.test.jsx
diff --git a/services/web/app/views/_mixins/faq_search-marketing.pug b/services/web/app/views/_mixins/faq_search-marketing.pug
index 677e6f03a3..b45168ec70 100644
--- a/services/web/app/views/_mixins/faq_search-marketing.pug
+++ b/services/web/app/views/_mixins/faq_search-marketing.pug
@@ -21,7 +21,7 @@ mixin faq_search-marketing(headerText, headerClass)
data-ol-clear-search
hidden
)
- button.sr-only(
+ button.visually-hidden(
type='button'
hidden
data-ol-clear-search
@@ -31,7 +31,7 @@ mixin faq_search-marketing(headerText, headerClass)
.row(role='region' aria-label='search results')
.col-md-12
div(data-ol-search-results-wrapper)
- span.sr-only(aria-live='polite' data-ol-search-sr-help-message)
+ span.visually-hidden(aria-live='polite' data-ol-search-sr-help-message)
div(data-ol-search-results)
.row-spaced-small.search-result.card.card-thin(
hidden
diff --git a/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug b/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug
index 9f9decbefb..75cc065e73 100644
--- a/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug
+++ b/services/web/app/views/layout/navbar-marketing-bootstrap-5.pug
@@ -1,4 +1,5 @@
include ../_mixins/navbar
+include ../_mixins/material_symbol
nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
class={
@@ -44,7 +45,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
aria-expanded='false'
aria-label='Toggle ' + translate('navigation')
)
- i.fa.fa-bars(aria-hidden='true')
+ +material-symbol('menu')
#navbar-main-collapse.navbar-collapse.collapse
ul.nav.navbar-nav.navbar-right.ms-auto(role='menubar')
diff --git a/services/web/app/views/layout/navbar-marketing.pug b/services/web/app/views/layout/navbar-marketing.pug
index 4d374bd8ad..bb26ff8d40 100644
--- a/services/web/app/views/layout/navbar-marketing.pug
+++ b/services/web/app/views/layout/navbar-marketing.pug
@@ -16,7 +16,7 @@ nav.navbar.navbar-default.navbar-main(
- var enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
if enableUpgradeButton
//- prettier-ignore
- a.btn.btn-primary.pull-right.me-2.visible-xs(
+ a.btn.btn-primary.float-end.me-2.visible-xs(
href='/user/subscription/plans'
event-tracking='upgrade-button-click'
event-tracking-mb='true'
diff --git a/services/web/app/views/layout/navbar-website-redesign.pug b/services/web/app/views/layout/navbar-website-redesign.pug
index 8963037758..210cf3a120 100644
--- a/services/web/app/views/layout/navbar-website-redesign.pug
+++ b/services/web/app/views/layout/navbar-website-redesign.pug
@@ -11,7 +11,7 @@ nav.navbar.navbar-default.navbar-main.website-redesign-navbar
i.fa.fa-bars(aria-hidden='true')
- var enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
if enableUpgradeButton
- a.btn.btn-primary.pull-right.me-2.visible-xs(
+ a.btn.btn-primary.float-end.me-2.visible-xs(
href='/user/subscription/plans'
event-tracking='upgrade-button-click'
event-tracking-mb='true'
diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json
index b0e70cafe3..ef2a9c6a2c 100644
--- a/services/web/frontend/extracted-translations.json
+++ b/services/web/frontend/extracted-translations.json
@@ -272,6 +272,7 @@
"collaborate_online_and_offline": "",
"collaborator_chat": "",
"collabs_per_proj": "",
+ "collabs_per_proj_multiple": "",
"collabs_per_proj_single": "",
"collapse": "",
"column_width": "",
diff --git a/services/web/frontend/js/features/contact-form/search.js b/services/web/frontend/js/features/contact-form/search.js
index 1787a068be..eaa34bdeeb 100644
--- a/services/web/frontend/js/features/contact-form/search.js
+++ b/services/web/frontend/js/features/contact-form/search.js
@@ -1,6 +1,7 @@
import _ from 'lodash'
import { formatWikiHit, searchWiki } from '../algolia-search/search-wiki'
import { sendMB } from '../../infrastructure/event-tracking'
+import { materialIcon } from '@/features/utils/material-icon'
export function setupSearch(formEl) {
const inputEl = formEl.querySelector('[name="subject"]')
@@ -45,11 +46,8 @@ export function setupSearch(formEl) {
contentEl.innerHTML = pageName
linkEl.append(contentEl)
- const iconEl = document.createElement('i')
- iconEl.className = 'material-symbols dropdown-item-trailing-icon'
- iconEl.textContent = 'open_in_new'
- iconEl.setAttribute('aria-hidden', 'true')
- iconEl.translate = false
+ const iconEl = materialIcon('open_in_new')
+ iconEl.classList.add('dropdown-item-trailing-icon')
linkEl.append(iconEl)
resultsEl.append(liEl)
diff --git a/services/web/frontend/js/features/editor-left-menu/components/left-menu-button.tsx b/services/web/frontend/js/features/editor-left-menu/components/left-menu-button.tsx
index 4d4efe6dbc..f1cd54750f 100644
--- a/services/web/frontend/js/features/editor-left-menu/components/left-menu-button.tsx
+++ b/services/web/frontend/js/features/editor-left-menu/components/left-menu-button.tsx
@@ -43,7 +43,7 @@ export default function LeftMenuButton({
+
Enter the emails you would like to register and separate them using commas
diff --git a/services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx b/services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx index e9896699c3..22a99e1fc7 100644 --- a/services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx +++ b/services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx @@ -126,9 +126,11 @@ describe('