Skip to content

Commit bc7c98f

Browse files
authored
[style] 마이페이지 스켈레톤 UI #88 (#90)
* [style]마이페이지 스켈레톤 ui * [stlye] 마이페이지 스켈레톤 UI * [style]포매팅 수정 * [docs] 파일명 수정
1 parent e2b1aa0 commit bc7c98f

File tree

35 files changed

+487
-136
lines changed

35 files changed

+487
-136
lines changed

src/app/mypage/layout.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import MyNav from '@/domains/mypage/main/MyNav';
22
import MyProfile from '@/domains/mypage/main/MyProfile';
3+
import SkeletonLayout from '@/domains/mypage/skeleton/main/SkeletonLayout';
4+
import { Suspense } from 'react';
35

46
function Layout({ children }: { children: React.ReactNode }) {
57
return (
6-
<div className="max-w-1024 page-layout py-12">
7-
<MyProfile />
8-
<MyNav />
9-
<div className="mt-5">{children}</div>
10-
</div>
8+
<Suspense fallback={<SkeletonLayout />}>
9+
<div className="max-w-1024 page-layout py-12">
10+
<MyProfile />
11+
<MyNav />
12+
<div className="mt-5">{children}</div>
13+
</div>
14+
</Suspense>
1115
);
1216
}
1317
export default Layout;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
function Loading() {
2+
return (
3+
<ul aria-hidden="true" className="flex flex-col mt-6 animate-pulse">
4+
{Array.from({ length: 2 }).map((_, i) => (
5+
<li key={i} className="border-b border-gray py-3">
6+
<article>
7+
{/* CommentTitle 자리 */}
8+
<div className="flex items-center gap-2">
9+
<div className="w-8 h-8 rounded-full bg-gray animate-pulse" />
10+
<div className="h-4 w-24 bg-gray animate-pulse rounded" />
11+
</div>
12+
13+
{/* 본문 텍스트 자리 */}
14+
<div className="mt-4 space-y-2">
15+
<div className="h-4 w-3/4 bg-gray animate-pulse rounded" />
16+
<div className="h-4 w-1/2 bg-gray animate-pulse rounded" />
17+
</div>
18+
</article>
19+
</li>
20+
))}
21+
</ul>
22+
);
23+
}
24+
export default Loading;
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
import CommentList from '@/domains/shared/components/comment/CommentList';
2-
function MyComment() {
2+
import { Metadata } from 'next';
3+
4+
export const metadata: Metadata = {
5+
title: 'SSOUL | 마이페이지',
6+
description: 'SSOUL 서비스에서 나의 활동을 관리할 수 있는 페이지입니다',
7+
};
8+
9+
function Page() {
310
return (
4-
<ul>
5-
<CommentList></CommentList>
6-
</ul>
11+
<>
12+
<CommentList />
13+
</>
714
);
815
}
9-
export default MyComment;
16+
export default Page;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import SkeletonPostCard from '@/domains/shared/skeleton/SkeletonPostCard';
2+
3+
function Loading() {
4+
return (
5+
<ul>
6+
{Array.from({ length: 6 }).map((_, i) => (
7+
<li key={i}>
8+
<SkeletonPostCard />
9+
</li>
10+
))}
11+
</ul>
12+
);
13+
}
14+
15+
export default Loading;

src/app/mypage/my-active/my-like/page.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import PostCard from '@/domains/community/main/PostCard';
2+
import { Metadata } from 'next';
23

3-
function MyPost() {
4+
export const metadata: Metadata = {
5+
title: 'SSOUL | 마이페이지',
6+
description: 'SSOUL 서비스에서 나의 활동을 관리할 수 있는 페이지입니다',
7+
};
8+
9+
function Page() {
410
return (
511
<ul>
612
<li>
@@ -24,4 +30,4 @@ function MyPost() {
2430
</ul>
2531
);
2632
}
27-
export default MyPost;
33+
export default Page;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import SkeletonPostCard from '@/domains/shared/skeleton/SkeletonPostCard';
2+
3+
function Loading() {
4+
return (
5+
<ul>
6+
{Array.from({ length: 6 }).map((_, i) => (
7+
<li key={i}>
8+
<SkeletonPostCard />
9+
</li>
10+
))}
11+
</ul>
12+
);
13+
}
14+
15+
export default Loading;

src/app/mypage/my-active/my-post/page.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import PostCard from '@/domains/community/main/PostCard';
2+
import { Metadata } from 'next';
23

3-
function MyPost() {
4+
export const metadata: Metadata = {
5+
title: 'SSOUL | 마이페이지',
6+
description: 'SSOUL 서비스에서 나의 활동을 관리할 수 있는 페이지입니다',
7+
};
8+
9+
function Page() {
410
return (
511
<ul>
612
<li>
@@ -15,4 +21,4 @@ function MyPost() {
1521
</ul>
1622
);
1723
}
18-
export default MyPost;
24+
export default Page;

src/app/mypage/my-active/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { redirect } from 'next/navigation';
22

3-
function page() {
3+
function Page() {
44
return redirect('/mypage/my-active/my-post');
55
}
6-
export default page;
6+
export default Page;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import SkeletonAlarm from '@/domains/recipe/skeleton/SkeletonAlarm';
2+
3+
function Loading() {
4+
return (
5+
<div className="flex flex-col gap-3">
6+
<SkeletonAlarm></SkeletonAlarm>
7+
<SkeletonAlarm></SkeletonAlarm>
8+
<SkeletonAlarm></SkeletonAlarm>
9+
<SkeletonAlarm></SkeletonAlarm>
10+
<SkeletonAlarm></SkeletonAlarm>
11+
</div>
12+
);
13+
}
14+
export default Loading;
15+
16+
// function SkeletonAlarmList({ count = 5 }: { count?: number }) {
17+
// return (
18+
// <div className="flex flex-col gap-3">
19+
// {Array.from({ length: count }).map((_, i) => (
20+
// <SkeletonAlarm key={i} />
21+
// ))}
22+
// </div>
23+
// );
24+
// }

src/app/mypage/my-alarm/page.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
import Alarm from '@/domains/mypage/components/Alarm';
22

3-
function MyAlarm() {
3+
import { Metadata } from 'next';
4+
5+
export const metadata: Metadata = {
6+
title: 'SSOUL | 마이페이지',
7+
description: 'SSOUL 서비스에서 나의 활동을 관리할 수 있는 페이지입니다',
8+
};
9+
10+
function Page() {
411
return (
512
<div className="flex flex-col gap-3">
613
<Alarm></Alarm>
714
<Alarm></Alarm>
8-
915
<Alarm></Alarm>
1016
<Alarm></Alarm>
1117
</div>
1218
);
1319
}
14-
export default MyAlarm;
20+
export default Page;

0 commit comments

Comments
 (0)