File tree Expand file tree Collapse file tree 3 files changed +27
-5
lines changed
Expand file tree Collapse file tree 3 files changed +27
-5
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ import { useMenuStore } from '@/store/menu';
55import Link from 'next/link' ;
66import { useCallback } from 'react' ;
77
8- const Menu = ( { className = 'flex-col md:flex-row' } ) => {
8+ const Menu = ( { className } ) => {
99 const { active, setActive } = useMenuStore ( ) ;
1010 const { translate } = useTranslate ( ) ;
1111
@@ -19,7 +19,7 @@ const Menu = ({ className = 'flex-col md:flex-row' }) => {
1919 ) ;
2020
2121 return (
22- < ul className = { `flex gap-4 ${ className } ` } >
22+ < ul className = { `gap-4 ${ className } ` } >
2323 < li className = { activeClass ( 'about' ) } >
2424 < Link href = "#about" onClick = { ( ) => setActive ( 'about' ) } >
2525 { translate ( 'about' ) }
Original file line number Diff line number Diff line change 11'use client' ;
22
3+ import { useCallback , useState } from 'react' ;
34import BtnLanguage from './_children/btn-language' ;
45import BtnTheme from './_children/btn-theme' ;
56import Menu from './_children/menu' ;
7+ import { IconMenu } from '../icons' ;
68
79const Header = ( ) => {
10+ const [ openMenu , setOpenMenu ] = useState ( false ) ;
11+ const [ classMenu , setClassMenu ] = useState ( 'hidden' ) ;
12+
13+ const handleMenu = useCallback ( ( ) => {
14+ setOpenMenu ( ! openMenu ) ;
15+ if ( openMenu ) {
16+ setClassMenu (
17+ 'flex transition-all absolute top-14 bg-gray-200 dark:bg-neutral-800 p-4 rounded-lg z-50'
18+ ) ;
19+ } else {
20+ setClassMenu ( 'hidden' ) ;
21+ }
22+ } , [ openMenu , setClassMenu ] ) ;
23+
824 return (
925 < header className = "flex items-center justify-between flex-row w-full py-4 border-b border-neutral-100 dark:border-neutral-800" >
10- < nav className = "w-8/12" >
11- < Menu />
26+ < nav className = "w-8/12 relative" >
27+ < button
28+ className = "bg-gray-200 rounded-lg dark:bg-neutral-800 text-sm px-1.5 py-1.5 hover:ring-2 ring-gray-300 transition-all block lg:hidden"
29+ onClick = { handleMenu }
30+ >
31+ < IconMenu size = { 20 } />
32+ </ button >
33+ < Menu className = { `${ classMenu } lg:flex flex-col md:flex-row` } />
1234 </ nav >
1335 < div className = "btn-actions flex flex-row justify-end gap-4 w-4/12" >
1436 < BtnLanguage />
Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ const Sidebar = () => {
3434 </ button >
3535 { openMenu && (
3636 < div className = "absolute top-14 bg-gray-200 dark:bg-neutral-800 p-4 rounded-lg" >
37- < Menu className = "flex-col" />
37+ < Menu className = "flex flex -col" />
3838 </ div >
3939 ) }
4040 </ div >
You can’t perform that action at this time.
0 commit comments