@@ -8,6 +8,7 @@ import InfoSetting from '@/components/settingTab/InfoSetting';
88import MembershipSetting from '@/components/settingTab/MembershipSetting' ;
99
1010import Modal from '../common/modal' ;
11+ import MobileSettingTab from '../settingTab/mobileSettingTab' ;
1112
1213import LogoutSvg from '@/assets/icons/Logout_Blank.svg?react' ;
1314
@@ -38,35 +39,36 @@ export default function SettingsModal({ onClose, defaultTab = '알람' }: ISetti
3839
3940 return (
4041 < Modal onClose = { onClose } position = "main" title = "설정" >
41- { /* 좌측 탭 메뉴 */ }
42- < div className = "w-[130px] sm:w-[170px] flex flex-col justify-between pr-4 sm:pr-6" >
43- < div className = "flex flex-col space-y-3" >
44- { [ '알람' , '멤버십' , '정보' ] . map ( ( tab ) => (
45- < button
46- key = { tab }
47- onClick = { ( ) => setActiveTab ( tab as '알람' | '멤버십' | '정보' ) }
48- className = { `w-full h-[35px] px-4 rounding-16 font-body1 text-left transition
42+ < div className = "sm:flex-row flex-col flex min-w-[300px]" >
43+ < div className = "w-[130px] sm:w-[170px] hidden sm: flex flex-col justify-between pr-4 sm:pr-6" >
44+ < div className = "flex flex-col space-y-3" >
45+ { [ '알람' , '멤버십' , '정보' ] . map ( ( tab ) => (
46+ < button
47+ key = { tab }
48+ onClick = { ( ) => setActiveTab ( tab as '알람' | '멤버십' | '정보' ) }
49+ className = { `w-full h-[35px] px-4 rounding-16 font-body1 text-left transition
4950 ${ activeTab === tab ? 'bg-primary-500 text-white' : 'bg-default-gray-400 text-default-gray-700' } ` }
50- >
51- { tab } 설정
52- </ button >
53- ) ) }
54- </ div >
55-
56- < button
57- onClick = { handleLogout }
58- disabled = { logoutPending }
59- className = "font-body2 text-default-gray-800 cursor-pointer flex items-center space-x-2 mt-6 disabled:opacity-60"
60- >
61- < LogoutSvg className = "w-4 h-4" fill = "none" stroke = "CurrentColor" />
62- < span > { logoutPending ? '로그아웃 중...' : '로그아웃' } </ span >
63- </ button >
64- </ div >
51+ >
52+ { tab } 설정
53+ </ button >
54+ ) ) }
55+ </ div >
6556
66- < div className = "flex-1 pl-6 overflow-y-auto" >
67- { activeTab === '알람' && < AlarmSetting /> }
68- { activeTab === '멤버십' && < MembershipSetting /> }
69- { activeTab === '정보' && < InfoSetting /> }
57+ < button
58+ onClick = { handleLogout }
59+ disabled = { logoutPending }
60+ className = "font-body2 text-default-gray-800 cursor-pointer flex items-center space-x-2 mt-6 disabled:opacity-60"
61+ >
62+ < LogoutSvg className = "w-4 h-4" fill = "none" stroke = "CurrentColor" />
63+ < span > { logoutPending ? '로그아웃 중...' : '로그아웃' } </ span >
64+ </ button >
65+ </ div >
66+ < MobileSettingTab setActiveTab = { setActiveTab } activeTab = { activeTab } handleLogout = { handleLogout } logoutPending = { logoutPending } />
67+ < div className = "flex-1 sm:pl-6 overflow-y-auto min-w-[300px]" >
68+ { activeTab === '알람' && < AlarmSetting /> }
69+ { activeTab === '멤버십' && < MembershipSetting /> }
70+ { activeTab === '정보' && < InfoSetting /> }
71+ </ div >
7072 </ div >
7173 </ Modal >
7274 ) ;
0 commit comments