Skip to content

fix: mobile header css #148

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions custom-implementation/src/main.css
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
#fern-header,
#fern-footer {
#fern-footer, #fern-header {
display: none;
}

#fern-header-content-wrapper {
display: block; /* Make the elements visible by default */

@media (min-width: 1024px) {
display: none; /* Hide the elements on screens larger than 1024px */
}
}

#devrev-header-content-wrapper {
display: none; /* Hide the wrapper by default */

@media (min-width: 1024px) {
display: block; /* Show the wrapper on screens larger than 1024px */
}
}
66 changes: 54 additions & 12 deletions custom-implementation/src/main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ import { ThemeSwitch } from './components/theme-switch'

import { getPageData } from './modules/sanity/utils'

const FERN_CONTENT_WRAPPER_ID = 'fern-header-content-wrapper'
const DEVREV_CONTENT_WRAPPER_ID = 'devrev-header-content-wrapper'

const FERN_HEADER_CONTAINER_ID = 'fern-header'

const render = async () => {
/*
* This is a where we try to make async data call.
Expand All @@ -29,18 +34,55 @@ const render = async () => {
ReactDOM.render(React.createElement(ThemeSwitch), wrapper)
}

ReactDOM.render(
React.createElement(Header, {
...data.header,
version: theme == 'dark' ? 'light' : 'dark',
}),
document.getElementById('fern-header'),
() => {
// Once the header component is loaded, make it visible
const header = document.getElementById('fern-header')
if (header && window.innerWidth > 1024) header.style.display = 'block'
},
)
const fernHeaderId = document.getElementById(FERN_CONTENT_WRAPPER_ID)
const devrevHeaderId = document.getElementById(DEVREV_CONTENT_WRAPPER_ID)

if (!fernHeaderId && !devrevHeaderId) {
// Main Container
const fernHeaderContainer = document.createElement('div')
fernHeaderContainer.setAttribute('id', FERN_HEADER_CONTAINER_ID)

// Fern Header
const fernContentWrapper = document.createElement('div')
fernContentWrapper.setAttribute('id', FERN_CONTENT_WRAPPER_ID)

const devrevContentWrapper = document.createElement('div')
devrevContentWrapper.setAttribute('id', DEVREV_CONTENT_WRAPPER_ID)

// Get existing fern-header element and its children
const mainHeaderWrapper = document.getElementById(FERN_HEADER_CONTAINER_ID)

if (mainHeaderWrapper) {
// Move all children to the wrapper
while (mainHeaderWrapper.firstChild) {
fernContentWrapper.appendChild(mainHeaderWrapper.firstChild)
}
}

fernHeaderContainer.appendChild(fernContentWrapper)
fernHeaderContainer.appendChild(devrevContentWrapper)

// Insert the new container where the original fern-header was
if (mainHeaderWrapper) {
mainHeaderWrapper.replaceWith(fernHeaderContainer)
} else {
document.body.appendChild(fernHeaderContainer)
}

ReactDOM.render(
React.createElement(Header, {
...data.header,
version: theme == 'dark' ? 'light' : 'dark',
}),
devrevContentWrapper,
() => {
// Once the header component is loaded, make it visible
const header = document.getElementById(FERN_HEADER_CONTAINER_ID)
if (header) header.style.display = 'block'
}
)
}

ReactDOM.render(
React.createElement(Footer, { ...data.footer }),
document.getElementById('fern-footer'),
Expand Down
Loading