fix mobile header: plain Promist image + working hamburger drawer
- Convert Promist CTA from button (.promist-btn + arrow) to a plain image link (.promist-link) — no button chrome, no hover transform - Fix dead hamburger: React onClick handlers (idempotent add/remove of th-body-visible) on hamburger, close X, and overlay, so the drawer opens/closes regardless of the theme jQuery binding state - Vertically center hamburger + Profen + Promist in one row on mobile - Hide .menu-wrap SVG mask wings on mobile (they overlapped Promist) - Show Promist column on mobile (d-block d-lg-none d-xl-block) - All changes scoped to @media (max-width:767px) or the Promist link base styles; desktop (>=768px) untouched
This commit is contained in:
@@ -34,6 +34,15 @@ export default function Header() {
|
|||||||
return pathname.startsWith(path)
|
return pathname.startsWith(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Drawer control — idempotent add/remove so it never double-toggles
|
||||||
|
// even if the theme's jQuery thmobilemenu binding also fires.
|
||||||
|
const openMobileMenu = () => {
|
||||||
|
document.querySelector('.th-menu-wrapper')?.classList.add('th-body-visible')
|
||||||
|
}
|
||||||
|
const closeMobileMenu = () => {
|
||||||
|
document.querySelector('.th-menu-wrapper')?.classList.remove('th-body-visible')
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<header ref={ref}>
|
<header ref={ref}>
|
||||||
<style id="elementor-post-945" dangerouslySetInnerHTML={{ __html: ELEMENTOR_945_CSS }}></style>
|
<style id="elementor-post-945" dangerouslySetInnerHTML={{ __html: ELEMENTOR_945_CSS }}></style>
|
||||||
@@ -43,9 +52,9 @@ export default function Header() {
|
|||||||
<div className="elementor-widget-container">
|
<div className="elementor-widget-container">
|
||||||
|
|
||||||
{/* Mobile Menu */}
|
{/* Mobile Menu */}
|
||||||
<div className="th-menu-wrapper">
|
<div className="th-menu-wrapper" onClick={closeMobileMenu}>
|
||||||
<div className="th-menu-area text-center">
|
<div className="th-menu-area text-center" onClick={(e) => e.stopPropagation()}>
|
||||||
<button className="th-menu-toggle"><i className="fas fa-times"></i></button>
|
<button className="th-menu-toggle" onClick={closeMobileMenu}><i className="fas fa-times"></i></button>
|
||||||
<div className="mobile-logo">
|
<div className="mobile-logo">
|
||||||
<a href="/"><img alt="logo" src="/assets/images/logo_pe-new-bk-70.png" /></a>
|
<a href="/"><img alt="logo" src="/assets/images/logo_pe-new-bk-70.png" /></a>
|
||||||
</div>
|
</div>
|
||||||
@@ -120,7 +129,7 @@ export default function Header() {
|
|||||||
|
|
||||||
{/* Sticky Nav */}
|
{/* Sticky Nav */}
|
||||||
<div className="sticky-wrapper">
|
<div className="sticky-wrapper">
|
||||||
<div className="container">
|
<div className="container px-3 px-sm-4 px-lg-0">
|
||||||
<div className="menu-area">
|
<div className="menu-area">
|
||||||
<div className="row align-items-start justify-content-between">
|
<div className="row align-items-start justify-content-between">
|
||||||
<div className="col-auto d-none d-lg-block">
|
<div className="col-auto d-none d-lg-block">
|
||||||
@@ -131,7 +140,8 @@ export default function Header() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="col">
|
<div className="col">
|
||||||
<div className="menu-wrap">
|
<div className="menu-wrap">
|
||||||
<div className="header-logo d-block d-lg-none">
|
<button className="th-menu-toggle d-block d-lg-none ms-0" type="button" onClick={openMobileMenu}><i className="far fa-bars"></i></button>
|
||||||
|
<div className="header-logo d-block d-lg-none me-auto">
|
||||||
<a href="/"><img alt="logo_pe new bk 70" src="/assets/images/logo_pe-new-bk-70.png" /></a>
|
<a href="/"><img alt="logo_pe new bk 70" src="/assets/images/logo_pe-new-bk-70.png" /></a>
|
||||||
</div>
|
</div>
|
||||||
<nav className="main-menu d-none d-lg-inline-block">
|
<nav className="main-menu d-none d-lg-inline-block">
|
||||||
@@ -164,16 +174,12 @@ export default function Header() {
|
|||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<button className="th-menu-toggle d-block d-lg-none" type="button"><i className="far fa-bars"></i></button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-auto d-none d-xl-block">
|
<div className="col-auto d-block d-lg-none d-xl-block">
|
||||||
<div className="header-button">
|
<div className="header-button">
|
||||||
<a href="https://promist.openexplorer.xyz" target="_blank" rel="noopener noreferrer" className="promist-btn">
|
<a href="https://promist.openexplorer.xyz" target="_blank" rel="noopener noreferrer" className="promist-link">
|
||||||
<span className="promist-logo">
|
<img src="/assets/images/Promist-Logo-1.png" alt="Promist" />
|
||||||
<img src="/assets/images/Promist-Logo-1.png" alt="Promist" />
|
|
||||||
</span>
|
|
||||||
<i className="far fa-arrow-right"></i>
|
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -67,51 +67,18 @@ img { max-width: 100%; height: auto; }
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ── NAVY CTA BUTTON (header) ── */
|
/* ── PROMIST LINK (header): plain image, no button chrome ── */
|
||||||
.promist-btn {
|
.promist-link {
|
||||||
justify-content: center;
|
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0; /* override base gap so logo is perfectly centered at rest */
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #101840;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
border-radius: 30px;
|
|
||||||
padding: 15px 15px;
|
|
||||||
position: relative;
|
|
||||||
font-family: var(--title-font);
|
|
||||||
font-size: 17px;
|
|
||||||
font-weight: 600;
|
|
||||||
line-height: 1.2;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
white-space: nowrap;
|
line-height: 0;
|
||||||
transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
|
|
||||||
}
|
}
|
||||||
.promist-btn .promist-logo {
|
.promist-link img {
|
||||||
display: inline-flex;
|
height: 30px;
|
||||||
align-items: center;
|
|
||||||
transition: margin 0.3s;
|
|
||||||
}
|
|
||||||
.promist-btn .promist-logo img {
|
|
||||||
height: 52px;
|
|
||||||
width: auto;
|
width: auto;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.promist-btn .fa-arrow-right {
|
|
||||||
max-width: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
opacity: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
transform: translateX(-6px);
|
|
||||||
transition: max-width 0.35s ease, margin-left 0.35s ease, opacity 0.3s ease, transform 0.3s ease;
|
|
||||||
}
|
|
||||||
.promist-btn:hover .fa-arrow-right {
|
|
||||||
max-width: 22px;
|
|
||||||
margin-left: 10px;
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
.promist-btn:hover { border-color: #d1d5db; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(16, 24, 64, 0.28); }
|
|
||||||
|
|
||||||
/* Tab menu spacing */
|
/* Tab menu spacing */
|
||||||
.tab-menu2 {
|
.tab-menu2 {
|
||||||
@@ -1007,18 +974,38 @@ img { max-width: 100%; height: auto; }
|
|||||||
.sticky-wrapper.sticky .logo-sticky { display: block; }
|
.sticky-wrapper.sticky .logo-sticky { display: block; }
|
||||||
|
|
||||||
/* Lighter border on the nav CTA when navbar is scrolled/sticky */
|
/* Lighter border on the nav CTA when navbar is scrolled/sticky */
|
||||||
.header-layout5 .sticky-wrapper.sticky .promist-btn {
|
|
||||||
border-color: #d1d5db;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ── HEADER BUTTON: bigger Promist logo in navbar ── */
|
/* ── HEADER BUTTON: bigger Promist logo in navbar ── */
|
||||||
.header-layout5 .header-button .promist-btn .promist-logo img {
|
.header-layout5 .header-button .promist-link img {
|
||||||
height: 30px !important;
|
height: 30px !important;
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
display: block !important;
|
display: block !important;
|
||||||
margin: 0 auto !important;
|
margin: 0 auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── MOBILE (<=767px): shrink both logos so hamburger + Profen + Promist fit one row ── */
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
/* Vertically center hamburger, Profen logo and Promist in the same row */
|
||||||
|
.header-layout5 .row.align-items-start {
|
||||||
|
align-items: center !important;
|
||||||
|
}
|
||||||
|
/* Hide the SVG mask wings that overlap the Promist logo on small screens */
|
||||||
|
.header-layout5 .menu-wrap:before,
|
||||||
|
.header-layout5 .menu-wrap:after {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.header-layout5 .header-logo img {
|
||||||
|
max-width: 88px !important;
|
||||||
|
}
|
||||||
|
.header-layout5 .header-button {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
.header-layout5 .header-button .promist-link img {
|
||||||
|
height: 20px !important;
|
||||||
|
width: auto !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ── Mobile sidebar: white frosted glass + dark text ── */
|
/* ── Mobile sidebar: white frosted glass + dark text ── */
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
|
|||||||
Reference in New Issue
Block a user