1- import { mdiClose , mdiMenu } from '@mdi/js'
1+ import { mdiMenu } from '@mdi/js'
22import classNames from 'classnames'
33import { FC , ReactElement } from 'react'
44import { useToggleJumpLinks } from '../App/useToggleJumpLinks'
55import { AppAction } from './AppAction'
66import { Logo } from './Logo'
7+ import { config } from '../../tailwindConfig'
8+ import { useIsCurrentAppMode } from '../../stores/appMode/appModeHooks'
9+ import { AppMode } from '../../stores/appMode/appModeReducer'
710
811interface Props {
912 centerItems ?: ReactElement | null
@@ -12,30 +15,44 @@ interface Props {
1215
1316export const AppHeader : FC < Props > = ( { centerItems, actions } ) => {
1417 const toggleJumpLinks = useToggleJumpLinks ( )
18+ const isCurrentAppMode = useIsCurrentAppMode ( )
1519
1620 function handleMenuClick ( ) {
17- // TODO: if (mobile) { toggleJumpLinks.toggleMobile() } else { toggleJumpLinks.toggle() }
21+ const query = `(min-width: ${ config . theme . screens . md } )`
22+ const queryList = window . matchMedia ( query )
23+
24+ if ( queryList . matches ) {
25+ toggleJumpLinks . toggle ( )
26+ } else {
27+ toggleJumpLinks . toggleMobile ( )
28+ }
1829 }
1930
2031 return (
2132 < div
2233 className = { classNames (
2334 'grid items-center' ,
2435 'grid-cols-[1fr,auto] grid-rows-[auto,auto] md:grid-cols-[1fr,auto,1fr] md:grid-rows-1' ,
36+ 'border-b border-black/10 dark:border-white/10' ,
2537 'px-page' ,
26- 'bg-white/30 dark:bg-black/30' ,
2738 ) }
2839 >
2940 < div className = "flex items-center gap-x-2" >
3041 < AppAction
31- icon = { toggleJumpLinks . showJumpLinksMobile ? mdiClose : mdiMenu }
42+ icon = { mdiMenu }
3243 action = { handleMenuClick }
44+ available = { isCurrentAppMode ( AppMode . default , AppMode . customize ) }
3345 />
3446 < Logo />
3547 </ div >
3648
3749 { centerItems !== null ? (
38- < div className = "col-span-2 row-start-2 flex items-center gap-x-1 justify-self-center py-2 md:col-span-1 md:col-start-2 md:row-start-1" >
50+ < div
51+ className = { classNames (
52+ 'col-span-2 row-start-2 md:col-span-1 md:col-start-2 md:row-start-1' ,
53+ 'flex items-center gap-x-1 justify-self-center' ,
54+ ) }
55+ >
3956 { centerItems }
4057 </ div >
4158 ) : null }
0 commit comments