File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -113,7 +113,11 @@ const FullSidebarContent = ({
113113
114114 < div className = "flex flex-col items-start self-stretch" >
115115 { /* ์ฒซ ๋ฒ์งธ ๋๋กญ๋ค์ด: ์ํฌ์คํ์ด์ค ๊ธฐ๋ณธ ํ */ }
116- < DropdownMenu dropdownId = "ws-default-team" headerTitle = "์ํฌ์คํ์ด์ค ๊ธฐ๋ณธ ํ" initialOpen = { true } >
116+ < DropdownMenu
117+ dropdownId = "ws-default-team"
118+ headerTitle = "์ํฌ์คํ์ด์ค ๊ธฐ๋ณธ ํ"
119+ initialOpen = { true }
120+ >
117121 < div className = "flex flex-col" >
118122 { isLoading ? null : (
119123 < DropdownMenu
@@ -169,9 +173,11 @@ const FullSidebarContent = ({
169173 < DropdownMenu dropdownId = "my-teams" headerTitle = "๋์ ํ" initialOpen = { true } >
170174 { /* Team ๋๋กญ๋ค์ด (๋ด๋ถ ๋๋กญ๋ค์ด) */ }
171175 { isLoading ? null : myTeams . length === 0 ? (
172- < div className = "text-gray-400 font-xsmall-r px-[3rem] pb-[1.6rem]" >
173- ๋ฑ๋ก๋ ํ์ด ์์ต๋๋ค.
174- </ div >
176+ < button type = "button" onClick = { ( ) => navigate ( '/workspace/setting/team-list' ) } >
177+ < div className = "text-gray-400 font-xsmall-r px-[3rem] pb-[1.6rem] cursor-pointer underline underline-offset-[0.3rem]" >
178+ ํ ์์ฑํ๊ธฐ
179+ </ div >
180+ </ button >
175181 ) : (
176182 < >
177183 < SortableDropdownList
Original file line number Diff line number Diff line change @@ -22,12 +22,20 @@ const SidebarItem = ({
2222 type = "button"
2323 className = "flex grow items-center gap-[0.8rem] cursor-pointer"
2424 >
25- < span className = "w-[2.4rem] h-[2.4rem] shrink-0 aspect-square " >
25+ < span className = "w-[2.4rem] h-[2.4rem] shrink-0" >
2626 < span className = "block group-hover:hidden" >
27- < img src = { defaultIcon } alt = "defaultIcon" />
27+ < img
28+ src = { defaultIcon }
29+ alt = "defaultIcon"
30+ className = "w-full h-full rounded-full object-cover"
31+ />
2832 </ span >
2933 < span className = "hidden group-hover:block" >
30- < img src = { hoverIcon } alt = "hoverIcon" />
34+ < img
35+ src = { hoverIcon }
36+ alt = "hoverIcon"
37+ className = "w-full h-full rounded-full object-cover"
38+ />
3139 </ span >
3240 </ span >
3341 < span className = "font-small-r text-gray-600 letter-spacing-[0.028rem] group-hover:text-primary-blue group-hover:font-bold" >
Original file line number Diff line number Diff line change 1+ import { useEffect } from 'react' ;
2+ import { useUIStore } from '../stores/ui' ;
3+
4+ export const useAutoCloseSidebar = ( breakpoint = 768 ) => {
5+ const { setSidebarOpen } = useUIStore ( ) ;
6+
7+ useEffect ( ( ) => {
8+ console . log ( 'useAutoCloseSidebar' ) ;
9+ const mediaQuery = window . matchMedia ( `(max-width: ${ breakpoint } px)` ) ;
10+
11+ const handleMediaChange = ( e : MediaQueryListEvent | MediaQueryList ) => {
12+ if ( e . matches ) {
13+ setSidebarOpen ( false ) ;
14+ }
15+ } ;
16+
17+ handleMediaChange ( mediaQuery ) ; // ์ด๊ธฐ ์ํ ํ์ธ
18+ mediaQuery . addEventListener ( 'change' , handleMediaChange ) ;
19+
20+ return ( ) => {
21+ mediaQuery . removeEventListener ( 'change' , handleMediaChange ) ;
22+ } ;
23+ } , [ breakpoint , setSidebarOpen ] ) ;
24+ } ;
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import { LOCAL_STORAGE_KEY } from '../constants/key.ts';
1010import { useLocalStorage } from '../hooks/useLocalStorage.ts' ;
1111import { useUIStore } from '../stores/ui.ts' ;
1212import { SIDEBAR_WIDTH } from '../constants/sidebar' ;
13+ import { useAutoCloseSidebar } from '../hooks/useAutoCloseSidebar' ;
1314
1415const ProtectedLayout = ( ) => {
1516 const location = useLocation ( ) ;
@@ -20,6 +21,8 @@ const ProtectedLayout = () => {
2021 const isLoggedIn = ! ! getAccessToken ( ) && ! ! getInviteUrl ( ) ;
2122 const { sidebarOpen } = useUIStore ( ) ;
2223
24+ useAutoCloseSidebar ( ) ;
25+
2326 if ( ! isLoggedIn ) {
2427 return < Navigate to = "/onboarding" replace /> ;
2528 }
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ const SettingWorkspaceProfile = () => {
1818 < button className = "w-[4.2rem] h-[4.2rem] flex items-center justify-center" >
1919 < img
2020 src = { workspaceData ?. workspaceImageUrl || vecocirclenavy }
21- className = "w-full h-full"
21+ className = "w-full h-full rounded-full object-cover "
2222 alt = "ํ๋กํ ์ฌ์ง"
2323 />
2424 </ button >
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import { immer } from 'zustand/middleware/immer';
44
55interface UIState {
66 sidebarOpen : boolean ;
7+ setSidebarOpen : ( open : boolean ) => void ;
78 toggleSidebar : ( ) => void ;
89
910 dropdownOpen : Record < string , boolean > ;
@@ -15,6 +16,10 @@ export const useUIStore = create<UIState>()(
1516 persist (
1617 immer ( ( set ) => ( {
1718 sidebarOpen : true ,
19+ setSidebarOpen : ( open ) =>
20+ set ( ( s ) => {
21+ s . sidebarOpen = open ;
22+ } ) ,
1823 toggleSidebar : ( ) =>
1924 set ( ( s ) => {
2025 s . sidebarOpen = ! s . sidebarOpen ;
You canโt perform that action at this time.
0 commit comments