From 62e4164269b80523f4cdf9c72e54e5ee87f0a16f Mon Sep 17 00:00:00 2001
From: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
Date: Tue, 11 Aug 2026 09:55:36 -0400
Subject: [PATCH] Merge pull request #36345 from
overleaf/em-library-design-review
[web] Library design review fixes
GitOrigin-RevId: dfd1846d275eb975906a2fe8a8c4dee057c51d1f
---
.../web/frontend/extracted-translations.json | 6 +++--
.../components/sidebar/sidebar-ds-nav.tsx | 2 +-
.../components/sidebar/sidebar-filters.tsx | 2 +-
.../sidebar/sidebar-lower-section.tsx | 4 ++--
.../pages/project-list-ds-nav.scss | 24 +++++++++++++++----
services/web/locales/en.json | 6 +++--
6 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json
index 3c2cb9c998..e4e60f5458 100644
--- a/services/web/frontend/extracted-translations.json
+++ b/services/web/frontend/extracted-translations.json
@@ -24,8 +24,6 @@
"about_to_archive_projects": "",
"about_to_delete_cert": "",
"about_to_delete_projects": "",
- "about_to_delete_references_permanently": "",
- "about_to_delete_references_permanently_plural": "",
"about_to_delete_tag": "",
"about_to_delete_the_following_project": "",
"about_to_delete_the_following_projects": "",
@@ -470,6 +468,8 @@
"delete_message_confirmation": "",
"delete_permanently": "",
"delete_projects": "",
+ "delete_references_permanently_question": "",
+ "delete_references_permanently_question_plural": "",
"delete_row_or_column": "",
"delete_sso_config": "",
"delete_table": "",
@@ -1673,6 +1673,8 @@
"references_moved_to_trash": "",
"references_moved_to_trash_plural": "",
"references_permanently_deleted_after_30_days": "",
+ "references_will_be_gone_for_good": "",
+ "references_will_be_gone_for_good_plural": "",
"refresh": "",
"refresh_page_after_linking_dropbox": "",
"refresh_page_after_starting_free_trial": "",
diff --git a/services/web/frontend/js/features/project-list/components/sidebar/sidebar-ds-nav.tsx b/services/web/frontend/js/features/project-list/components/sidebar/sidebar-ds-nav.tsx
index 6b09a4e157..abebbc38c2 100644
--- a/services/web/frontend/js/features/project-list/components/sidebar/sidebar-ds-nav.tsx
+++ b/services/web/frontend/js/features/project-list/components/sidebar/sidebar-ds-nav.tsx
@@ -97,7 +97,7 @@ function SidebarDsNav({
aria-current={isTrashActive ? 'page' : undefined}
onClick={() => selectFilter('trashed')}
>
-
+
{t('trash')}
diff --git a/services/web/frontend/js/features/project-list/components/sidebar/sidebar-filters.tsx b/services/web/frontend/js/features/project-list/components/sidebar/sidebar-filters.tsx
index ac380c8391..60d314052a 100644
--- a/services/web/frontend/js/features/project-list/components/sidebar/sidebar-filters.tsx
+++ b/services/web/frontend/js/features/project-list/components/sidebar/sidebar-filters.tsx
@@ -58,7 +58,7 @@ export default function SidebarFilters({
activePage={activePage}
filter="all"
text={isLibraryEnabled ? t('projects') : t('all_projects')}
- icon={isLibraryEnabled && }
+ icon={isLibraryEnabled && }
/>
-
+
{t('help')}
@@ -97,7 +97,7 @@ export function SidebarLowerSection({
role="menuitem"
className="ds-nav-page-switcher-item"
>
-
+
{t('Account')}
diff --git a/services/web/frontend/stylesheets/pages/project-list-ds-nav.scss b/services/web/frontend/stylesheets/pages/project-list-ds-nav.scss
index b210d17b74..b9a90f9f48 100644
--- a/services/web/frontend/stylesheets/pages/project-list-ds-nav.scss
+++ b/services/web/frontend/stylesheets/pages/project-list-ds-nav.scss
@@ -125,11 +125,22 @@ body {
.sidebar-filter-button {
display: flex;
align-items: center;
- padding-left: calc(var(--spacing-05) + 24px + var(--spacing-05));
+ padding-left: calc(var(--spacing-05) + 20px + var(--spacing-05));
}
.sidebar-filter-button-with-icon {
- padding-left: var(--spacing-05);
+ // Only the items with an icon are 44px tall: 20px of content between
+ // 12px paddings. The rest of the filters stay at 40px.
+ line-height: var(--line-height-02);
+ padding: var(--spacing-05);
+
+ // Without this the icon is an inline box sitting on the text
+ // baseline, which leaves descender space below it and stops
+ // align-items from centring it against the label.
+ .icon {
+ display: flex;
+ align-items: center;
+ }
svg {
margin-right: var(--spacing-05);
@@ -137,11 +148,11 @@ body {
}
.dropdown-header {
- padding-left: calc(var(--spacing-06) + 24px + var(--spacing-05));
+ padding-left: calc(var(--spacing-06) + 20px + var(--spacing-05));
}
> li.tag button.tag-name {
- padding-left: calc(var(--spacing-06) + 24px + var(--spacing-05));
+ padding-left: calc(var(--spacing-06) + 20px + var(--spacing-05));
}
}
}
@@ -245,7 +256,10 @@ body {
align-items: center;
width: 100%;
gap: var(--spacing-05);
- padding: var(--spacing-04) var(--spacing-05);
+
+ // 20px of text between 12px paddings makes the item 44px tall.
+ line-height: var(--line-height-02);
+ padding: var(--spacing-05);
border: none;
border-radius: var(--border-radius-medium);
background: none;
diff --git a/services/web/locales/en.json b/services/web/locales/en.json
index 476333829e..b6bdb5a696 100644
--- a/services/web/locales/en.json
+++ b/services/web/locales/en.json
@@ -28,8 +28,6 @@
"about_to_archive_projects": "You are about to archive the following projects:",
"about_to_delete_cert": "You are about to delete the following certificate:",
"about_to_delete_projects": "You are about to delete the following projects:",
- "about_to_delete_references_permanently": "You are about to permanently delete __count__ reference",
- "about_to_delete_references_permanently_plural": "You are about to permanently delete __count__ references",
"about_to_delete_tag": "You are about to delete the following tag (any projects in them will not be deleted):",
"about_to_delete_the_following_project": "You are about to delete the following project",
"about_to_delete_the_following_projects": "You are about to delete the following projects",
@@ -612,6 +610,8 @@
"delete_message_confirmation": "Are you sure you want to delete this message? This can’t be undone.",
"delete_permanently": "Delete permanently",
"delete_projects": "Delete Projects",
+ "delete_references_permanently_question": "Permanently delete this reference?",
+ "delete_references_permanently_question_plural": "Delete __count__ references permanently?",
"delete_row_or_column": "Delete row or column",
"delete_sso_config": "Delete SSO configuration",
"delete_table": "Delete table",
@@ -2158,6 +2158,8 @@
"references_moved_to_trash": "__count__ reference moved to Trash",
"references_moved_to_trash_plural": "__count__ references moved to Trash",
"references_permanently_deleted_after_30_days": "References are permanently deleted after 30 days.",
+ "references_will_be_gone_for_good": "__citationKey__ will be gone for good. This can’t be undone.",
+ "references_will_be_gone_for_good_plural": "These references will be gone for good. This can’t be undone.",
"refresh": "Refresh",
"refresh_page_after_linking_dropbox": "Please refresh this page after linking your account to Dropbox.",
"refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.",