@@ -5,13 +5,29 @@ import useThemeSwitcher from '../hooks/useThemeSwitcher';
5
5
import logoLight from '../images/logo-light.svg' ;
6
6
import logoDark from '../images/logo-dark.svg' ;
7
7
import { useState } from 'react' ;
8
+ import HireMeModal from './HireMeModal' ;
8
9
9
10
const AppHeader = ( ) => {
10
11
const [ showMenu , setShowMenu ] = useState ( false ) ;
12
+ const [ showModal , setShowModal ] = useState ( false ) ;
11
13
const [ activeTheme , setTheme ] = useThemeSwitcher ( ) ;
12
14
13
15
const toggleMenu = showMenu === false ? true : false ;
14
16
17
+ function showHireMeModal ( ) {
18
+ if ( ! showModal ) {
19
+ document
20
+ . getElementsByTagName ( 'html' ) [ 0 ]
21
+ . classList . add ( 'overflow-y-hidden' ) ;
22
+ setShowModal ( true ) ;
23
+ } else {
24
+ document
25
+ . getElementsByTagName ( 'html' ) [ 0 ]
26
+ . classList . remove ( 'overflow-y-hidden' ) ;
27
+ setShowModal ( false ) ;
28
+ }
29
+ }
30
+
15
31
return (
16
32
< div >
17
33
< nav id = "nav" className = "sm:container sm:mx-auto" >
@@ -107,6 +123,7 @@ const AppHeader = () => {
107
123
</ Link >
108
124
< div className = "border-t-2 pt-3 sm:pt-0 sm:border-t-0 border-primary-light dark:border-secondary-dark" >
109
125
< button
126
+ onClick = { showHireMeModal }
110
127
className = "sm:hidden block text-left text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-md px-4 py-2 mt-2"
111
128
aria-label = "Hire Me Button"
112
129
>
@@ -121,6 +138,7 @@ const AppHeader = () => {
121
138
{ /* Hire me button start */ }
122
139
< div >
123
140
< button
141
+ onClick = { showHireMeModal }
124
142
className = "text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-lg px-5 py-2.5"
125
143
aria-label = "Hire Me Button"
126
144
>
@@ -144,6 +162,17 @@ const AppHeader = () => {
144
162
{ /* Theme switcher large screen start */ }
145
163
</ div >
146
164
</ div >
165
+ { /* Hire me modal start */ }
166
+ < div >
167
+ { showModal ? (
168
+ < HireMeModal
169
+ onClose = { showHireMeModal }
170
+ onRequest = { showHireMeModal }
171
+ />
172
+ ) : null }
173
+ { showModal ? showHireMeModal : null }
174
+ </ div >
175
+ { /* Hire me modal end */ }
147
176
</ nav >
148
177
</ div >
149
178
) ;
0 commit comments