Skip to content

Commit dc7a90a

Browse files
refactor: integrate theme switch and search components into main application
1 parent 23e4e72 commit dc7a90a

File tree

1 file changed

+31
-20
lines changed

1 file changed

+31
-20
lines changed

custom-implementation/src/main.tsx

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import React from 'react'
77

88
import Header from './components/header'
99
import Footer from './components/footer'
10-
// import { ThemeSwitch } from './components/theme-switch'
11-
// import { Search } from './components/search'
10+
import { ThemeSwitch } from './components/theme-switch'
11+
import { Search } from './components/search'
1212

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

@@ -24,28 +24,39 @@ const render = async () => {
2424

2525
const data = await getPageData()
2626

27-
const sidenavHeaderContainer = document.querySelector('button.fern-search-button')?.parentElement
28-
const theme = document.getElementsByTagName('html')[0].getAttribute('class')
29-
30-
// Replace search button with React Search component
31-
if (sidenavHeaderContainer) {
32-
const searchWrapper = document.createElement('div')
33-
searchWrapper.setAttribute('id', 'search-component-wrapper')
34-
searchWrapper.setAttribute('class', 'fern-sidebar-searchbar-container')
27+
const sidenav = document.querySelector('button.fern-search-bar')
28+
?.parentElement as HTMLElement
3529

36-
// const wrapper = document.createElement('div')
37-
// wrapper.setAttribute('id', 'theme-switch')
38-
// searchWrapper.appendChild(wrapper)
30+
const theme = document.getElementsByTagName('html')[0].getAttribute('class')
3931

40-
// const search = document.createElement('div')
41-
// search.setAttribute('id', 'search-component')
42-
// searchWrapper.appendChild(search)
32+
if (!document.getElementById('theme-switch')) {
33+
const wrapper = document.createElement('div')
34+
wrapper.setAttribute('id', 'theme-switch')
35+
sidenav.appendChild(wrapper)
36+
ReactDOM.render(React.createElement(ThemeSwitch), wrapper)
37+
}
4338

44-
// ReactDOM.render(React.createElement(Search), search)
45-
// ReactDOM.render(React.createElement(ThemeSwitch), wrapper)
39+
// if(!document.getElementById('search-component-wrapper')) {
40+
// const searchWrapper = document.createElement('div')
41+
// searchWrapper.setAttribute('id', 'search-component-wrapper')
42+
// searchWrapper.setAttribute('class', 'fern-sidebar-searchbar-container')
43+
// sidenav.appendChild(searchWrapper)
44+
// }
4645

47-
sidenavHeaderContainer.replaceWith(searchWrapper)
48-
}
46+
// Replace search button with React Search component
47+
// if (searchButton && !document.getElementById('search-component-wrapper') && !document.getElementById('theme-switch')) {
48+
// const searchWrapper = document.createElement('div')
49+
// searchWrapper.setAttribute('id', 'search-component-wrapper')
50+
// searchWrapper.setAttribute('class', 'fern-sidebar-searchbar-container')
51+
// searchButton.parentNode?.replaceChild(searchWrapper, searchButton)
52+
53+
// const wrapper = document.createElement('div')
54+
// wrapper.setAttribute('id', 'theme-switch')
55+
// sidenav.appendChild(wrapper)
56+
57+
// ReactDOM.render(React.createElement(Search), searchWrapper)
58+
// ReactDOM.render(React.createElement(ThemeSwitch), wrapper)
59+
// }
4960

5061
const fernHeaderId = document.getElementById(FERN_CONTENT_WRAPPER_ID)
5162
const devrevHeaderId = document.getElementById(DEVREV_CONTENT_WRAPPER_ID)

0 commit comments

Comments
 (0)