1+ 'use client'
2+
13import siteMetadata from '@/data/siteMetadata'
24import headerNavLinks from '@/data/headerNavLinks'
3- import Logo from '@/data/logo.svg'
45import Link from './Link'
56import MobileNav from './MobileNav'
67import ThemeSwitch from './ThemeSwitch'
78import SearchButton from './SearchButton'
9+ import { useTheme } from 'next-themes'
10+ import Image from 'next/image'
11+ import { useEffect , useState } from 'react'
812
913const Header = ( ) => {
14+ const { resolvedTheme } = useTheme ( )
15+ const [ mounted , setMounted ] = useState ( false )
16+
17+ // After mounting, we have access to the theme
18+ useEffect ( ( ) => setMounted ( true ) , [ ] )
19+
1020 let headerClass = 'flex items-center w-full bg-white dark:bg-gray-950 justify-between py-10'
1121 if ( siteMetadata . stickyNav ) {
1222 headerClass += ' sticky top-0 z-50'
@@ -17,15 +27,27 @@ const Header = () => {
1727 < Link href = "/" aria-label = { siteMetadata . headerTitle } >
1828 < div className = "flex items-center justify-between" >
1929 < div className = "mr-3" >
20- < Logo />
30+ { mounted && (
31+ < Image
32+ src = {
33+ resolvedTheme === 'dark'
34+ ? '/static/images/logoWhite.svg'
35+ : '/static/images/logoBlack.svg'
36+ }
37+ alt = "Logo"
38+ width = { 300 }
39+ height = { 50 }
40+ priority
41+ />
42+ ) }
2143 </ div >
22- { typeof siteMetadata . headerTitle === 'string' ? (
44+ { /* { typeof siteMetadata.headerTitle === 'string' ? (
2345 <div className="hidden h-6 text-2xl font-semibold sm:block">
2446 {siteMetadata.headerTitle}
2547 </div>
2648 ) : (
2749 siteMetadata.headerTitle
28- ) }
50+ )} */ }
2951 </ div >
3052 </ Link >
3153 < div className = "flex items-center space-x-4 leading-5 sm:-mr-6 sm:space-x-6" >
0 commit comments