@@ -12,8 +12,6 @@ import { MemberList, UserAvatars } from "@/components/gnb/Avatars";
1212import UserMenu from "@/components/gnb/UserMenu" ;
1313import MemberListMenu from "@/components/gnb/MemberListMenu" ;
1414import InviteDashboard from "@/components/modal/InviteDashboard" ;
15- import { ToastContainer , toast } from "react-toastify" ;
16- import "react-toastify/dist/ReactToastify.css" ;
1715
1816interface HeaderDashboardProps {
1917 variant ?: "mydashboard" | "dashboard" | "edit" | "mypage" ;
@@ -123,16 +121,20 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
123121
124122 return (
125123 < header className = "w-full h-[60px] md:h-[70px] flex items-center justify-center bg-white border-b-[1px] border-b-[var(--color-gray3)]" >
126- < ToastContainer position = "top-center" />
127124 < div className = "w-full flex items-center justify-between pl-[4vw]" >
128125 { errorMessage && (
129126 < p className = "text-sm text-[var(--color-red)] px-4 py-2" >
130127 { errorMessage }
131128 </ p >
132129 ) }
130+
131+ { /*헤더 제목*/ }
133132 < div className = "flex items-center gap-[8px]" >
134133 < p
135- className = { `text-base text-black3 font-bold md:text-xl ${ variant !== "mydashboard" ? "hidden md:block" : "" } ` }
134+ className = { clsx (
135+ "font-20b text-black3 whitespace-nowrap" ,
136+ variant !== "mydashboard" ? "hidden lg:block" : ""
137+ ) }
136138 >
137139 { title }
138140 </ p >
@@ -145,7 +147,7 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
145147 className = {
146148 variant === "mydashboard"
147149 ? "inline-block"
148- : "hidden md :inline-block"
150+ : "hidden lg :inline-block"
149151 }
150152 unoptimized
151153 priority
@@ -155,18 +157,17 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
155157
156158 < div className = "flex items-center" >
157159 < div
158- className = { `flex gap-[6px] md:gap-[16px] ${ variant === "mydashboard" ? "pr-[22px] md:pr-[32px]" : "" } ` }
160+ className = { clsx (
161+ "flex gap-[6px] md:gap-[16px]" ,
162+ variant === "mydashboard" ? "pr-[22px] md:pr-[32px]" : ""
163+ ) }
159164 >
160165 { /*관리 버튼*/ }
161- { variant !== "edit" && (
166+ { ( variant === "mydashboard" || dashboard ?. createdByMe ) && (
162167 < button
163168 onClick = { ( ) => {
164169 if ( dashboardId ) {
165- if ( dashboard && dashboard . createdByMe === true ) {
166- router . push ( `/dashboard/${ dashboardId } /edit` ) ;
167- } else {
168- toast . error ( "대시보드 수정 권한이 없습니다." ) ;
169- }
170+ router . push ( `/dashboard/${ dashboardId } /edit` ) ;
170171 } else {
171172 if ( onToggleEditMode ) {
172173 onToggleEditMode ( ) ;
@@ -194,29 +195,35 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
194195 ) }
195196
196197 { /*초대하기 버튼*/ }
197- { variant !== "mydashboard" && variant !== "edit" && (
198- < button
199- onClick = { openInviteModal }
200- className = "flex items-center justify-center w-[73px] h-[30px] md:w-[109px] md:h-[36px] lg:w-[116px] lg:h-[40px] rounded-[8px] border border-[var(--color-gray3)] gap-[10px] cursor-pointer"
201- >
202- < Image
203- src = "/svgs/add-box.svg"
204- alt = "초대하기 아이콘"
205- width = { 20 }
206- height = { 20 }
207- className = "hidden md:block"
208- />
209- < span className = "text-sm md:text-base text-gray1" >
210- 초대하기
211- </ span >
212- </ button >
213- ) }
198+ { variant !== "mydashboard" &&
199+ variant !== "edit" &&
200+ dashboard ?. createdByMe && (
201+ < button
202+ onClick = { openInviteModal }
203+ className = { clsx (
204+ "flex items-center justify-center" ,
205+ "w-[73px] h-[30px] md:w-[109px] md:h-[36px] lg:w-[116px] lg:h-[40px]" ,
206+ "border border-[var(--color-gray3)] rounded-[8px] gap-[10px] cursor-pointer"
207+ ) }
208+ >
209+ < Image
210+ src = "/svgs/add-box.svg"
211+ alt = "초대하기 아이콘"
212+ width = { 20 }
213+ height = { 20 }
214+ className = "hidden md:block"
215+ />
216+ < span className = "text-sm md:text-base text-gray1" >
217+ 초대하기
218+ </ span >
219+ </ button >
220+ ) }
214221 { isModalOpen && < InviteDashboard onClose = { closeInviteModal } /> }
215222 </ div >
216223
217224 { /*멤버 목록*/ }
218225 { variant !== "mydashboard" && (
219- < div className = "relative flex items-center justify-center w-[150px] md:w-[190px] h-[60px] md:h-[70px]" >
226+ < div className = "relative flex items-center justify-center w-[150px] md:w-[190px] h-[60px] md:h-[70px] whitespace-nowrap " >
220227 { isLoading ? (
221228 < SkeletonUser />
222229 ) : (
@@ -248,7 +255,7 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
248255 { /*유저 드롭다운 메뉴*/ }
249256 < div
250257 onClick = { ( ) => setIsMenuOpen ( ( prev ) => ! prev ) }
251- className = "flex items-center gap-[12px] pl-[20px] md:pl-[30px] lg:pl-[35px] cursor-pointer"
258+ className = "flex items-center gap-[12px] pl-[20px] md:pl-[30px] lg:pl-[35px] cursor-pointer overflow-hidden "
252259 >
253260 < UserMenu
254261 user = { user }
@@ -262,7 +269,7 @@ const HeaderDashboard: React.FC<HeaderDashboardProps> = ({
262269 user && (
263270 < >
264271 < UserAvatars user = { user } />
265- < span className = "hidden md:block text-black3 md:text-base md:font-medium" >
272+ < span className = "hidden md:block text-black3 md:text-base md:font-medium max-w-[90px] truncate whitespace-nowrap " >
266273 { user . nickname }
267274 </ span >
268275 </ >
0 commit comments