@@ -2,7 +2,7 @@ import clsx from "clsx";
22import Image from "next/image" ;
33import Link from "next/link" ;
44import { useRouter } from "next/router" ;
5- import { useState } from "react" ;
5+ import { useState , useEffect } from "react" ;
66import { PaginationButton } from "@/components/button/PaginationButton" ;
77import NewDashboard from "@/components/modal/NewDashboard" ;
88
@@ -22,13 +22,27 @@ interface SideMenuProps {
2222 onCreateDashboard ?: ( dashboard : Dashboard ) => void ;
2323}
2424
25+ function useMobile ( ) {
26+ const [ isMobile , setIsMobile ] = useState ( false ) ;
27+ useEffect ( ( ) => {
28+ const handleResize = ( ) => {
29+ setIsMobile ( window . innerWidth < 640 ) ; // sm 기준
30+ } ;
31+ handleResize ( ) ;
32+ window . addEventListener ( "resize" , handleResize ) ;
33+ return ( ) => window . removeEventListener ( "resize" , handleResize ) ;
34+ } , [ ] ) ;
35+ return isMobile ;
36+ }
37+
2538export default function SideMenu ( {
2639 teamId,
2740 dashboardList,
2841 onCreateDashboard,
2942} : SideMenuProps ) {
3043 const router = useRouter ( ) ;
3144 const boardId = router . query . dashboardId ?. toString ( ) ;
45+ const isMobile = useMobile ( ) ;
3246
3347 const [ currentPage , setCurrentPage ] = useState ( 1 ) ;
3448 const [ isCollapsed , setIsCollapsed ] = useState ( false ) ;
@@ -66,7 +80,7 @@ export default function SideMenu({
6680 ) }
6781 >
6882 < Link href = "/mydashboard" className = "mb-2" >
69- { isCollapsed ? (
83+ { isCollapsed || isMobile ? (
7084 < Image
7185 src = "/svgs/logo.svg"
7286 alt = "작은 로고"
0 commit comments