diff --git a/src/components/RecentTransactionsSection.tsx b/src/components/RecentTransactionsSection.tsx index bb7300b..d54f99f 100644 --- a/src/components/RecentTransactionsSection.tsx +++ b/src/components/RecentTransactionsSection.tsx @@ -4,10 +4,14 @@ import TransactionEditDialog from './TransactionEditDialog'; import { ChevronRight } from 'lucide-react'; import { useBudget } from '@/contexts/BudgetContext'; import { Link } from 'react-router-dom'; +import { categoryIcons } from '@/constants/categoryIcons'; +import TransactionIcon from './transaction/TransactionIcon'; + interface RecentTransactionsSectionProps { transactions: Transaction[]; onUpdateTransaction?: (transaction: Transaction) => void; } + const RecentTransactionsSection: React.FC = ({ transactions, onUpdateTransaction @@ -18,10 +22,12 @@ const RecentTransactionsSection: React.FC = ({ updateTransaction, deleteTransaction } = useBudget(); + const handleTransactionClick = (transaction: Transaction) => { setSelectedTransaction(transaction); setIsDialogOpen(true); }; + const handleUpdateTransaction = (updatedTransaction: Transaction) => { if (onUpdateTransaction) { onUpdateTransaction(updatedTransaction); @@ -29,33 +35,16 @@ const RecentTransactionsSection: React.FC = ({ // 직접 컨텍스트를 통해 업데이트 updateTransaction(updatedTransaction); }; + const handleDeleteTransaction = (id: string) => { // 직접 컨텍스트를 통해 삭제 deleteTransaction(id); }; + const formatCurrency = (amount: number) => { return amount.toLocaleString('ko-KR') + '원'; }; - const getCategoryIcon = (category: string) => { - switch (category) { - case '식비': - return '🍽️'; - case '교통비': - return '🚗'; - case '생활비': - return '🏠'; - case '쇼핑': - return '🛍️'; - case '의료': - return '💊'; - case '여가': - return '🎮'; - case '교육': - return '📚'; - default: - return '💰'; - } - }; + return

최근 지출

@@ -66,8 +55,8 @@ const RecentTransactionsSection: React.FC = ({
{transactions.length > 0 ? transactions.map(transaction =>
handleTransactionClick(transaction)} className="flex justify-between py-3 px-4 cursor-pointer hover:bg-gray-50">
- {getCategoryIcon(transaction.category)} -
+ +

{transaction.title}

{transaction.date}

@@ -84,4 +73,5 @@ const RecentTransactionsSection: React.FC = ({ {selectedTransaction && }
; }; + export default RecentTransactionsSection;