import { Link } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import { motion } from 'framer-motion'; import { ChevronRight } from 'lucide-react'; import { fetchApi } from '@/api'; /** * PC 생일 페이지 * @param {object} props * @param {string} props.year - 연도 * @param {string} props.nameEn - 멤버 영문 이름 (소문자) */ function PCBirthday({ year, nameEn }) { // 멤버 정보 조회 (영문 이름으로) const { data: member, isLoading: memberLoading, error, } = useQuery({ queryKey: ['member', nameEn], queryFn: () => fetchApi(`/members/${encodeURIComponent(nameEn)}`), enabled: !!nameEn, }); if (!nameEn || error) { return (

멤버를 찾을 수 없습니다

일정으로 돌아가기
); } if (memberLoading) { return (
); } // 생일 계산 const birthDate = member?.birth_date ? new Date(member.birth_date) : null; const birthdayThisYear = birthDate ? new Date(parseInt(year), birthDate.getMonth(), birthDate.getDate()) : null; return (
{/* 네비게이션 */}
일정 HAPPY {member?.name_en} DAY
{/* 헤더 카드 */} {/* 배경 장식 */}
🎉
🎈
{/* 멤버 사진 */} {member?.image_url && (
{member.name}
)} {/* 내용 */}
🎂

HAPPY {member?.name_en} DAY

{year}년 {birthdayThisYear?.getMonth() + 1}월 {birthdayThisYear?.getDate()}일

{/* 년도 뱃지 */}
YEAR
{year}
{/* 생일카페 섹션 */}

생일카페

{/* 준비 중 메시지 */}
🎁

{year}년 {member?.name} 생일카페 정보가 준비 중입니다

생일카페 정보가 등록되면 이곳에 표시됩니다

); } export default PCBirthday;