From 51158f4323b8b80e69bfb3b12a18b167cb9d11cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Wed, 11 May 2022 16:25:26 +0200 Subject: [PATCH] MOBILE-4061 core: Fix header not found when navigating from custom URL --- src/core/components/navbar-buttons/navbar-buttons.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/components/navbar-buttons/navbar-buttons.ts b/src/core/components/navbar-buttons/navbar-buttons.ts index 77878e67c..88dd4dcd0 100644 --- a/src/core/components/navbar-buttons/navbar-buttons.ts +++ b/src/core/components/navbar-buttons/navbar-buttons.ts @@ -208,10 +208,17 @@ export class CoreNavBarButtonsComponent implements OnInit, OnDestroy { await content.componentOnReady(); } - parentPage = parentPage.parentElement.closest('.ion-page'); + parentPage = parentPage.parentElement.closest('.ion-page, .ion-page-hidden, .ion-page-invisible'); // Check if the page has a header. If it doesn't, search the next parent page. - const header = parentPage?.querySelector(':scope > ion-header'); + let header = parentPage?.querySelector(':scope > ion-header'); + + if (header && getComputedStyle(header).display !== 'none') { + return header; + } + + // Find using content if any. + header = content?.parentElement?.querySelector(':scope > ion-header'); if (header && getComputedStyle(header).display !== 'none') { return header;