import { motion, AnimatePresence } from 'framer-motion'; import { useState, useEffect } from 'react'; import { Instagram } from 'lucide-react'; // 모바일 멤버 페이지 function MobileMembers() { const [members, setMembers] = useState([]); const [formerMembers, setFormerMembers] = useState([]); const [selectedMember, setSelectedMember] = useState(null); useEffect(() => { fetch('/api/members') .then(res => res.json()) .then(data => { setMembers(data.filter(m => !m.is_former)); setFormerMembers(data.filter(m => m.is_former)); }) .catch(console.error); }, []); // 멤버 카드 렌더링 함수 const renderMemberCard = (member, isFormer = false) => ( setSelectedMember(member)} className="text-center cursor-pointer" whileTap={{ scale: 0.95 }} >
{member.image_url && ( {member.name} )}

{member.name}

{member.position || ''}

); return (
{/* 현재 멤버 */}
{members.map((member) => renderMemberCard(member))}
{/* 전 멤버 */} {formerMembers.length > 0 && ( <>

전 멤버

{formerMembers.map((member) => renderMemberCard(member, true))}
)} {/* 멤버 상세 모달 */} {selectedMember && ( setSelectedMember(null)} > e.stopPropagation()} >
{selectedMember.image_url && ( {selectedMember.name} )}

{selectedMember.name}

{selectedMember.position}

{selectedMember.birth_date?.slice(0, 10).replaceAll('-', '.')}

{/* 전 멤버가 아닌 경우에만 인스타그램 표시 */} {!selectedMember.is_former && selectedMember.instagram && ( Instagram )}
)}
); } export default MobileMembers;