From f32acad5c6995d66bbcb1ba0cd9512f099e57cd3 Mon Sep 17 00:00:00 2001
From: Ekaterina Kondareva <>
Date: Tue, 3 Nov 2020 16:02:42 +0200
Subject: [PATCH] menu lang backdrop

---
 .../menu-language/menu-language.scss           | 16 ++++++++++++++++
 .../navigation/menu-language/menu-language.tsx | 18 ++++++++++++++++++
 src/components/site-header/site-header.tsx     |  1 +
 3 files changed, 35 insertions(+)

diff --git a/src/components/navigation/menu-language/menu-language.scss b/src/components/navigation/menu-language/menu-language.scss
index fe8ead0f..aa6a38eb 100644
--- a/src/components/navigation/menu-language/menu-language.scss
+++ b/src/components/navigation/menu-language/menu-language.scss
@@ -122,3 +122,19 @@
     width: 16px;
   }
 }
+
+.hy-menu-backdrop {
+  bottom: 0;
+  left: 0;
+  position: absolute;
+  right: 0;
+  top: 0;
+  visibility: hidden;
+
+  &.is-active {
+    background-color: rgba(0, 0, 0, 0.4);
+    transition: background-color 300ms;
+    visibility: visible;
+    z-index: 99;
+  }
+}
diff --git a/src/components/navigation/menu-language/menu-language.tsx b/src/components/navigation/menu-language/menu-language.tsx
index ca837147..a9daf0e3 100644
--- a/src/components/navigation/menu-language/menu-language.tsx
+++ b/src/components/navigation/menu-language/menu-language.tsx
@@ -34,6 +34,24 @@ export class MenuLanguage {
 
   @Listen('languageMenuToggle') languageMenuToggle() {
     this.isMenuOpen = !this.isMenuOpen;
+
+    //console.log(document.querySelectorAll('.hy-site-header')[0]);
+    //let hyBackdropDiv = document.querySelectorAll('.hy-backdrop')[0];
+
+    let hyHeader = this.el.closest('.hy-site-header');
+    console.log((hyHeader as HTMLElement).children[0]);
+    let hyBackdropDiv = (hyHeader as HTMLElement).children[0];
+
+    console.log(hyBackdropDiv);
+    if (hyBackdropDiv) {
+      if (this.isMenuOpen) {
+        (hyBackdropDiv as HTMLElement).classList.add('is-active');
+        (hyBackdropDiv as HTMLElement).style.top = '90px';
+      } else {
+        (hyBackdropDiv as HTMLElement).classList.remove('is-active');
+        (hyBackdropDiv as HTMLElement).style.top = '0';
+      }
+    }
   }
 
   componentWillRender() {
diff --git a/src/components/site-header/site-header.tsx b/src/components/site-header/site-header.tsx
index 68fbb869..6ffe0687 100644
--- a/src/components/site-header/site-header.tsx
+++ b/src/components/site-header/site-header.tsx
@@ -113,6 +113,7 @@ export class SiteHeader {
       case MenuType.desktop:
         return (
           <header class={classAttributes.join(' ')}>
+            <div class={{'hy-backdrop': true, 'is-active': this.isMenuOpen}} />
             <div class={'hy-site-header__logo-container'}>
               <hy-site-logo size={logoSize} color={logoColor} url={this.logoUrl} label={this.logoLabel} />
             </div>
-- 
GitLab