@@ -199,25 +199,6 @@ export const navLinks = [
199199] ;
200200
201201const Navbar = ( { dark, overlay } ) => {
202- const [ displayMobileNav , setDisplayMobileNav ] = React . useState ( false ) ;
203- const navbarRef = React . useRef ( null ) ;
204-
205- React . useEffect ( ( ) => {
206- const addFixedClass = ( ) => {
207- if ( window . scrollY > 50 ) {
208- navbarRef . current . classList . add ( 'fixed' ) ;
209- } else {
210- navbarRef . current . classList . remove ( 'fixed' ) ;
211- }
212- } ;
213-
214- window . addEventListener ( 'scroll' , addFixedClass ) ;
215-
216- return ( ) => {
217- window . removeEventListener ( 'scroll' , addFixedClass ) ;
218- } ;
219- } , [ ] ) ;
220-
221202 const data = useStaticQuery ( graphql `
222203 query LogoQuery {
223204 logo: file(relativePath: { eq: "cdl_logo.png" }) {
@@ -237,13 +218,34 @@ const Navbar = ({ dark, overlay }) => {
237218 }
238219 ` ) ;
239220
240- const logo = data ?. logo ?. childImageSharp . fluid ;
241- const darkLogo = data ?. darkLogo ?. childImageSharp . fluid ;
221+ const [ displayMobileNav , setDisplayMobileNav ] = React . useState ( false ) ;
222+ const [ navBarLogo , setNavBarLogo ] = React . useState (
223+ dark ? data . darkLogo . childImageSharp . fluid : data . logo . childImageSharp . fluid
224+ ) ;
225+ const navbarRef = React . useRef ( null ) ;
226+
227+ React . useEffect ( ( ) => {
228+ const addFixedClass = ( ) => {
229+ if ( window . scrollY > 50 ) {
230+ navbarRef . current . classList . add ( 'fixed' ) ;
231+ setNavBarLogo ( data . logo . childImageSharp . fluid ) ;
232+ } else {
233+ navbarRef . current . classList . remove ( 'fixed' ) ;
234+ setNavBarLogo ( dark ? data . darkLogo . childImageSharp . fluid : data . logo . childImageSharp . fluid ) ;
235+ }
236+ } ;
237+
238+ window . addEventListener ( 'scroll' , addFixedClass ) ;
239+
240+ return ( ) => {
241+ window . removeEventListener ( 'scroll' , addFixedClass ) ;
242+ } ;
243+ } , [ data . logo . childImageSharp . fluid , data . darkLogo . childImageSharp . fluid , dark ] ) ;
242244
243245 return (
244246 < StyledNav ref = { navbarRef } overlay = { overlay } >
245247 < Link to = "/" >
246- < Image fluid = { dark ? darkLogo : logo } />
248+ < Image fluid = { navBarLogo } />
247249 </ Link >
248250 < MdMenu onClick = { ( ) => setDisplayMobileNav ( true ) } className = "mobile-nav" />
249251 < LinksContainer dark = { dark } displayMobile = { displayMobileNav } >
0 commit comments