import React, { useMemo } from 'react'; import { Calendar, Search, ChevronLeft, ChevronRight } from 'lucide-react'; import { formatCurrency } from '@/utils/formatters'; import { formatMonthForDisplay } from '@/hooks/transactions/dateUtils'; interface TransactionsHeaderProps { selectedMonth: string; searchQuery: string; setSearchQuery: (query: string) => void; handlePrevMonth: () => void; handleNextMonth: () => void; budgetData: any; totalExpenses: number; isDisabled: boolean; } const TransactionsHeader: React.FC = ({ selectedMonth, searchQuery, setSearchQuery, handlePrevMonth, handleNextMonth, budgetData, totalExpenses, isDisabled }) => { // 월 표시 형식 변환 (2024-04 -> 2024년 04월) const displayMonth = useMemo(() => formatMonthForDisplay(selectedMonth), [selectedMonth] ); // 예산 정보가 없는 경우 기본값 사용 const targetAmount = budgetData?.monthly?.targetAmount || 0; // 디버깅을 위한 로그 React.useEffect(() => { console.log('TransactionsHeader 렌더링:', { selectedMonth, displayMonth, totalExpenses, targetAmount }); }, [selectedMonth, displayMonth, totalExpenses, targetAmount]); return (

지출 내역

{/* Search */}
setSearchQuery(e.target.value)} disabled={isDisabled} />
{/* Month Selector */}
{displayMonth}
{/* Summary */}

총 예산

{formatCurrency(targetAmount)}

총 지출

{formatCurrency(totalExpenses)}

); }; export default React.memo(TransactionsHeader);