@@ -18,7 +18,20 @@ import { useAuth } from "@/contexts/AuthContext";
1818import LoginModal from "@/components/auth/LoginModal" ;
1919
2020// TODO: 실제 API 연동 시 교체
21- const mockUserData = {
21+ interface ExtendedUser {
22+ userId ?: number ;
23+ id ?: number ;
24+ email : string ;
25+ nickname : string ;
26+ profileImageUrl : string | null ;
27+ status ?: string ;
28+ role ?: string ;
29+ createdAt ?: string ;
30+ updatedAt ?: string ;
31+ lastLoginAt ?: string ;
32+ }
33+
34+ const mockUserData : ExtendedUser = {
2235 id : 1 ,
2336 email : "user@example.com" ,
2437 nickname : "데브노기유저" ,
@@ -36,7 +49,7 @@ export default function MyPage() {
3649 const [ isLoginModalOpen , setIsLoginModalOpen ] = useState ( false ) ;
3750
3851 // authUser가 있으면 authUser 사용, 없으면 mockData 사용 (개발 편의상)
39- const user = authUser || mockUserData ;
52+ const user : ExtendedUser = authUser || mockUserData ;
4053
4154 useEffect ( ( ) => {
4255 // 로딩이 끝나고 인증되지 않은 경우 로그인 모달 표시
@@ -153,7 +166,7 @@ export default function MyPage() {
153166 < h1 className = "text-2xl font-bold text-gray-900" >
154167 { authUser ?. nickname || user . nickname }
155168 </ h1 >
156- { getStatusBadge ( user . status ) }
169+ { getStatusBadge ( user . status || "ACTIVE" ) }
157170 </ div >
158171 < p className = "text-gray-600 flex items-center gap-2 mb-4" >
159172 < Mail className = "w-4 h-4" />
@@ -192,7 +205,7 @@ export default function MyPage() {
192205 < InfoRow
193206 icon = { < Shield className = "w-5 h-5 text-gray-400" /> }
194207 label = "권한"
195- value = { user . role === "USER" ? "일반 회원" : "관리자" }
208+ value = { ( user . role || "USER" ) === "USER" ? "일반 회원" : "관리자" }
196209 />
197210 { user . createdAt && (
198211 < InfoRow
0 commit comments