import React, { useState } from 'react'; import NavBar from '@/components/NavBar'; import BudgetCard from '@/components/BudgetCard'; import TransactionCard, { Transaction } from '@/components/TransactionCard'; import AddTransactionButton from '@/components/AddTransactionButton'; import { Wallet, TrendingUp, Bell } from 'lucide-react'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; const Index = () => { const [selectedTab, setSelectedTab] = useState("daily"); // Sample data - in a real app, this would come from a data source const transactions: Transaction[] = [{ id: '1', title: '식료품 구매', amount: 25000, date: '오늘, 12:30 PM', category: 'shopping', type: 'expense' }, { id: '2', title: '주유소', amount: 50000, date: '어제, 3:45 PM', category: 'transportation', type: 'expense' }, { id: '3', title: '월급', amount: 2500000, date: '2일전, 9:00 AM', category: 'income', type: 'income' }]; // 예산 데이터 - 실제 앱에서는 백엔드에서 가져와야 함 const budgetData = { daily: { targetAmount: 30000, spentAmount: 15000, remainingAmount: 15000 }, weekly: { targetAmount: 200000, spentAmount: 120000, remainingAmount: 80000 }, monthly: { targetAmount: 1200000, spentAmount: 750000, remainingAmount: 450000 } }; const formatCurrency = (amount: number) => { return new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW', maximumFractionDigits: 0 }).format(amount); }; // 퍼센트 계산 함수 const calculatePercentage = (spent: number, target: number) => { return Math.min(Math.round(spent / target * 100), 100); }; return
{/* Header */}

반갑습니다

적자 탈출 계획

{/* 목표 진행 상황 - 제목을 카드 위로 이동 */}

목표 진행 상황

오늘 주간 월간 {/* 지출액 / 목표액 라벨 추가 */}
지출액 / 목표액

{formatCurrency(budgetData.daily.spentAmount)}

/ {formatCurrency(budgetData.daily.targetAmount)}

= 90 ? "text-neuro-expense" : "text-gray-500"}`}> {calculatePercentage(budgetData.daily.spentAmount, budgetData.daily.targetAmount)}%
지출 가능 금액 {formatCurrency(budgetData.daily.remainingAmount)}

{formatCurrency(budgetData.weekly.spentAmount)}

/ {formatCurrency(budgetData.weekly.targetAmount)}

= 90 ? "text-neuro-expense" : "text-gray-500"}`}> {calculatePercentage(budgetData.weekly.spentAmount, budgetData.weekly.targetAmount)}%
지출 가능 금액 {formatCurrency(budgetData.weekly.remainingAmount)}

{formatCurrency(budgetData.monthly.spentAmount)}

/ {formatCurrency(budgetData.monthly.targetAmount)}

= 90 ? "text-neuro-expense" : "text-gray-500"}`}> {calculatePercentage(budgetData.monthly.spentAmount, budgetData.monthly.targetAmount)}%
지출 가능 금액 {formatCurrency(budgetData.monthly.remainingAmount)}
{/* Budget Progress */}

예산 현황

{/* Recent Transactions */}

최근 거래

{transactions.map(transaction => )}
; }; export default Index;