@@ -6,13 +6,11 @@ import { usePathname } from 'next/navigation';
66import { useOnClickOutside } from '@/hooks/use-on-click-outside' ;
77import { SidebarNavItem } from '@/types' ;
88import { IconMenu , IconX } from '@tabler/icons-react' ;
9- import { Icon , Text } from 'opub-ui' ;
9+ import { Button , Icon , Sheet , Text } from 'opub-ui' ;
1010import { twMerge } from 'tailwind-merge' ;
1111
12- import { cn } from '@/lib/utils' ;
1312import { Icons } from '@/components/icons' ;
1413import dashboardStyles from '../dashboard.module.scss' ;
15- import styles from './styles.module.scss' ;
1614
1715interface DashboardNavProps {
1816 items : SidebarNavItem [ ] ;
@@ -39,20 +37,19 @@ export function MobileDashboardNav({
3937
4038 return (
4139 < >
42- < button
43- onClick = { ( ) => {
44- setIsOpened ( ! isOpened ) ;
45- } }
46- className = { cn ( styles . NavButton , isOpened && styles . NavButtonOpen ) }
47- >
48- < Icon source = { isOpened ? IconX : IconMenu } />
49- < Text visuallyHidden > Trigger Menu</ Text >
50- </ button >
51- < aside
52- ref = { asideRef }
53- className = { cn ( styles . Aside , isOpened && styles . AsideOpen ) }
54- >
55- < nav className = { styles . MobileNavContainer } >
40+ < Sheet open = { isOpened } >
41+ < Sheet . Trigger >
42+ < Button onClick = { ( ) => setIsOpened ( ! isOpened ) } kind = "tertiary" >
43+ < Icon source = { IconMenu } />
44+ < Text visuallyHidden > Trigger Menu</ Text >
45+ </ Button >
46+ </ Sheet . Trigger >
47+ < Sheet . Content side = "left" size = "narrow" className = "pr-4 pt-4" >
48+ < div className = "mb-4 flex justify-end" >
49+ < Button onClick = { ( ) => setIsOpened ( ! isOpened ) } kind = "tertiary" >
50+ < Icon source = { IconX } />
51+ </ Button >
52+ </ div >
5653 < ul >
5754 { items . map ( ( item ) => {
5855 const icon = Icons [ item . icon || 'arrowRight' ] ;
@@ -93,8 +90,8 @@ export function MobileDashboardNav({
9390 ) ;
9491 } ) }
9592 </ ul >
96- </ nav >
97- </ aside >
93+ </ Sheet . Content >
94+ </ Sheet >
9895 </ >
9996 ) ;
10097}
0 commit comments