import { motion, AnimatePresence } from 'framer-motion';
import { useState, useMemo } from 'react';
import { useQuery } from '@tanstack/react-query';
import { Instagram, Calendar, X } from 'lucide-react';
import { getMembers } from '../../../api/public/members';
// 모바일 멤버 페이지
function MobileMembers() {
const [selectedMember, setSelectedMember] = useState(null);
// useQuery로 멤버 데이터 로드
const { data: allMembers = [] } = useQuery({
queryKey: ['members'],
queryFn: getMembers,
});
// useMemo로 현재/전 멤버 분리
const members = useMemo(() => allMembers.filter(m => !m.is_former), [allMembers]);
const formerMembers = useMemo(() => allMembers.filter(m => m.is_former), [allMembers]);
// 나이 계산
const calculateAge = (birthDate) => {
if (!birthDate) return null;
const birth = new Date(birthDate);
const today = new Date();
let age = today.getFullYear() - birth.getFullYear();
const monthDiff = today.getMonth() - birth.getMonth();
if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birth.getDate())) {
age--;
}
return age;
};
// 모달 닫기
const closeModal = () => setSelectedMember(null);
// 멤버 카드 렌더링 함수
const renderMemberCard = (member, index, isFormer = false) => (
{member.name}
)}
{selectedMember.position}
)} {selectedMember.birth_date && (