From f90a5f4b171201fcd310677bfd028fdc1d457bee Mon Sep 17 00:00:00 2001 From: caadiq Date: Sun, 8 Feb 2026 22:20:56 +0900 Subject: [PATCH] =?UTF-8?q?refactor(members):=20PC=20=EB=A9=A4=EB=B2=84=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=202/3=20=EB=B0=B0=EC=97=B4=20?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 5열에서 2/3 배열로 변경 - 카드 크기 축소 (max-w-3xl) - 첫 줄 2명, 둘째 줄 3명 가운데 정렬 Co-Authored-By: Claude Opus 4.5 --- .../src/pages/pc/public/members/Members.jsx | 122 ++++++++++-------- 1 file changed, 71 insertions(+), 51 deletions(-) diff --git a/frontend/src/pages/pc/public/members/Members.jsx b/frontend/src/pages/pc/public/members/Members.jsx index ef6ffca..6d93883 100644 --- a/frontend/src/pages/pc/public/members/Members.jsx +++ b/frontend/src/pages/pc/public/members/Members.jsx @@ -4,6 +4,57 @@ import { useMembers } from '@/hooks'; import { Loading } from '@/components/common'; import { formatDate } from '@/utils'; +/** + * 멤버 카드 컴포넌트 + */ +function MemberCard({ member, index }) { + return ( + +
+ {/* 이미지 */} +
+ {member.name} +
+ + {/* 정보 */} +
+

{member.name}

+ +
+ + {formatDate(member.birth_date, 'YYYY.MM.DD')} +
+ + {/* 인스타그램 링크 */} + {member.instagram && ( + + + Instagram + + )} +
+ + {/* 호버 효과 - 컬러 바 */} +
+
+ + ); +} + /** * PC 멤버 페이지 */ @@ -18,9 +69,19 @@ function Members() { ); } + const currentMembers = members.filter((m) => !m.is_former); + + // 2/3 배열 + const rows = [ + currentMembers.slice(0, 2), + currentMembers.slice(2, 5), + ]; + + let globalIndex = 0; + return (
-
+
{/* 헤더 */}
- {/* 멤버 그리드 - 3열, 마지막 줄 가운데 정렬 */} -
- {members - .filter((m) => !m.is_former) - .map((member, index) => ( - -
- {/* 이미지 */} -
- {member.name} -
- - {/* 정보 */} -
-

{member.name}

- -
- - {formatDate(member.birth_date, 'YYYY.MM.DD')} -
- - {/* 인스타그램 링크 */} - {member.instagram && ( - - - Instagram - - )} -
- - {/* 호버 효과 - 컬러 바 */} -
-
- - ))} + {/* 멤버 그리드 - 2/3/3 배열 */} +
+ {rows.map((row, rowIndex) => ( +
+ {row.map((member) => ( + + ))} +
+ ))}