From 1349f4a2029314b63d97f7d8a67d4a85fbd8d623 Mon Sep 17 00:00:00 2001
From: Pamela <pnbarone@gmail.com>
Date: Mon, 20 Jan 2025 14:27:40 +1000
Subject: [PATCH 1/5] Update config & add class

---
 .../optional/block.block.drupal_cms_olivero_page_title.yml  | 6 +-----
 drupal_cms_olivero/drupal_cms_olivero.theme                 | 6 ++++++
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drupal_cms_olivero/config/optional/block.block.drupal_cms_olivero_page_title.yml b/drupal_cms_olivero/config/optional/block.block.drupal_cms_olivero_page_title.yml
index 94ce4428f..0e5bc0bfa 100644
--- a/drupal_cms_olivero/config/optional/block.block.drupal_cms_olivero_page_title.yml
+++ b/drupal_cms_olivero/config/optional/block.block.drupal_cms_olivero_page_title.yml
@@ -14,8 +14,4 @@ settings:
   label: 'Page title'
   label_display: '0'
   provider: core
-visibility:
-  request_path:
-    id: request_path
-    negate: true
-    pages: '<front>'
+visibility: {  }
diff --git a/drupal_cms_olivero/drupal_cms_olivero.theme b/drupal_cms_olivero/drupal_cms_olivero.theme
index 2d6becceb..8e56847a1 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.theme
+++ b/drupal_cms_olivero/drupal_cms_olivero.theme
@@ -78,4 +78,10 @@ function drupal_cms_olivero_preprocess_block(&$variables): void {
   if (str_replace($wide_content, '', strtolower($plugin_id)) !== strtolower($plugin_id)) {
     $variables['attributes']['class'][] = 'wide-content';
   }
+
+  // Visually hide the page title on home
+  $is_front = \Drupal::service('path.matcher')->isFrontPage();
+  if ($is_front && $plugin_id === 'page_title_block') {
+    $variables['attributes']['class'][] = 'visually-hidden';
+  }
 }
-- 
GitLab


From dcff70d7e405ef6f9df582b93a4dff5baaa25b96 Mon Sep 17 00:00:00 2001
From: Pamela <pnbarone@gmail.com>
Date: Mon, 20 Jan 2025 14:50:49 +1000
Subject: [PATCH 2/5] Fixes width bug

---
 drupal_cms_olivero/css/base/front.css               | 3 +++
 drupal_cms_olivero/drupal_cms_olivero.libraries.yml | 4 ++++
 drupal_cms_olivero/drupal_cms_olivero.theme         | 8 +++++++-
 3 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 drupal_cms_olivero/css/base/front.css

diff --git a/drupal_cms_olivero/css/base/front.css b/drupal_cms_olivero/css/base/front.css
new file mode 100644
index 000000000..63cc069c7
--- /dev/null
+++ b/drupal_cms_olivero/css/base/front.css
@@ -0,0 +1,3 @@
+.path-frontpage #block-drupal-cms-olivero-page-title {
+  width: auto;
+}
diff --git a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
index 61d9a2478..ec0032d41 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
+++ b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
@@ -36,3 +36,7 @@ person-full:
   css:
     component:
       css/components/person-full.css: {}
+front:
+  css:
+    component:
+      css/components/front.css: {}
diff --git a/drupal_cms_olivero/drupal_cms_olivero.theme b/drupal_cms_olivero/drupal_cms_olivero.theme
index 8e56847a1..27b22ff7e 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.theme
+++ b/drupal_cms_olivero/drupal_cms_olivero.theme
@@ -24,13 +24,19 @@ function drupal_cms_olivero_preprocess_views_view__search(array &$variables) {
 /**
  * Implements hook_preprocess_node().
  */
-function drupal_cms_olivero_preprocess_node(array &$variables): void {
+function drupal_cms_olivero_preprocess_node(array &$variables): void
+{
   // Pass layout variable to template if content type is in full view
   // mode. This is then used in the template to create a BEM style CSS class to
   // control the layout.
   if ($variables['view_mode'] === 'full') {
     $variables['layout'] = 'content-narrow';
   }
+
+  $is_front = \Drupal::service('path.matcher')->isFrontPage();
+  if ($is_front) {
+    $variables['#attached']['library'][] = 'drupal_cms_olivero/front';
+  }
 }
 
 /**
-- 
GitLab


From 0b4e765a57866861d894564bbc0e3a1ddd8c5ef7 Mon Sep 17 00:00:00 2001
From: Pamela <pnbarone@gmail.com>
Date: Mon, 20 Jan 2025 14:51:22 +1000
Subject: [PATCH 3/5] Fix bracket

---
 drupal_cms_olivero/drupal_cms_olivero.theme | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drupal_cms_olivero/drupal_cms_olivero.theme b/drupal_cms_olivero/drupal_cms_olivero.theme
index 27b22ff7e..a922ba806 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.theme
+++ b/drupal_cms_olivero/drupal_cms_olivero.theme
@@ -24,8 +24,7 @@ function drupal_cms_olivero_preprocess_views_view__search(array &$variables) {
 /**
  * Implements hook_preprocess_node().
  */
-function drupal_cms_olivero_preprocess_node(array &$variables): void
-{
+function drupal_cms_olivero_preprocess_node(array &$variables): void {
   // Pass layout variable to template if content type is in full view
   // mode. This is then used in the template to create a BEM style CSS class to
   // control the layout.
-- 
GitLab


From d6d615c46b6dc8ef038bcdcf5862088c04659bec Mon Sep 17 00:00:00 2001
From: Pamela Barone <31375-pameeela@users.noreply.drupalcode.org>
Date: Tue, 21 Jan 2025 23:00:02 +0000
Subject: [PATCH 4/5] Move front.css into components

---
 drupal_cms_olivero/css/{base => components}/front.css | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename drupal_cms_olivero/css/{base => components}/front.css (100%)

diff --git a/drupal_cms_olivero/css/base/front.css b/drupal_cms_olivero/css/components/front.css
similarity index 100%
rename from drupal_cms_olivero/css/base/front.css
rename to drupal_cms_olivero/css/components/front.css
-- 
GitLab


From dd0e16ed22cf9ce5d31fd907bdf4df01a0dd4df1 Mon Sep 17 00:00:00 2001
From: Mike Herchel <mike@herchel.com>
Date: Tue, 21 Jan 2025 19:01:38 -0500
Subject: [PATCH 5/5] Remove front library, and override visually-hidden CSS
 class width.

---
 drupal_cms_olivero/css/base/utility.css             | 8 ++++++++
 drupal_cms_olivero/css/components/front.css         | 3 ---
 drupal_cms_olivero/drupal_cms_olivero.libraries.yml | 5 +----
 drupal_cms_olivero/drupal_cms_olivero.theme         | 5 -----
 4 files changed, 9 insertions(+), 12 deletions(-)
 create mode 100644 drupal_cms_olivero/css/base/utility.css
 delete mode 100644 drupal_cms_olivero/css/components/front.css

diff --git a/drupal_cms_olivero/css/base/utility.css b/drupal_cms_olivero/css/base/utility.css
new file mode 100644
index 000000000..d459517a3
--- /dev/null
+++ b/drupal_cms_olivero/css/base/utility.css
@@ -0,0 +1,8 @@
+/*
+ * Utility CSS classes.
+ */
+
+.visually-hidden {
+  /* Necessary to override Olivero's specificity. */
+  width: 1px !important;
+}
diff --git a/drupal_cms_olivero/css/components/front.css b/drupal_cms_olivero/css/components/front.css
deleted file mode 100644
index 63cc069c7..000000000
--- a/drupal_cms_olivero/css/components/front.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.path-frontpage #block-drupal-cms-olivero-page-title {
-  width: auto;
-}
diff --git a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
index ec0032d41..b17685a09 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
+++ b/drupal_cms_olivero/drupal_cms_olivero.libraries.yml
@@ -4,6 +4,7 @@ global-styling:
       css/base/base.css: {}
       css/base/buttons.css: {}
       css/base/typography.css: {}
+      css/base/utility.css: {}
     component:
       css/components/form.css: {}
 views:
@@ -36,7 +37,3 @@ person-full:
   css:
     component:
       css/components/person-full.css: {}
-front:
-  css:
-    component:
-      css/components/front.css: {}
diff --git a/drupal_cms_olivero/drupal_cms_olivero.theme b/drupal_cms_olivero/drupal_cms_olivero.theme
index a922ba806..8e56847a1 100644
--- a/drupal_cms_olivero/drupal_cms_olivero.theme
+++ b/drupal_cms_olivero/drupal_cms_olivero.theme
@@ -31,11 +31,6 @@ function drupal_cms_olivero_preprocess_node(array &$variables): void {
   if ($variables['view_mode'] === 'full') {
     $variables['layout'] = 'content-narrow';
   }
-
-  $is_front = \Drupal::service('path.matcher')->isFrontPage();
-  if ($is_front) {
-    $variables['#attached']['library'][] = 'drupal_cms_olivero/front';
-  }
 }
 
 /**
-- 
GitLab