import React, { useState } from 'react'; import NavBar from '@/components/NavBar'; import ExpenseChart from '@/components/ExpenseChart'; import AddTransactionButton from '@/components/AddTransactionButton'; import { BarChart, Bar, XAxis, YAxis, Tooltip, ResponsiveContainer, Legend } from 'recharts'; import { ChevronLeft, ChevronRight } from 'lucide-react'; const Analytics = () => { const [selectedPeriod, setSelectedPeriod] = useState('이번 달'); // Updated expense categories with green color scheme const expenseData = [{ name: '식비', value: 350000, color: '#81c784' // Green (matching neuro-income) }, { name: '생활비', value: 650000, color: '#AED581' // Light green }, { name: '교통비', value: 175000, color: '#2E7D32' // Dark green (replacing yellow) }]; // Sample data for the monthly comparison - renamed income to budget const monthlyData = [{ name: '3월', budget: 2400000, expense: 1800000 }, { name: '4월', budget: 2300000, expense: 1700000 }, { name: '5월', budget: 2700000, expense: 1900000 }, { name: '6월', budget: 2200000, expense: 1500000 }, { name: '7월', budget: 2500000, expense: 1650000 }, { name: '8월', budget: 2550000, expense: 1740000 }]; // Updated variable names to match new terminology const totalBudget = 2550000; const totalExpense = 1740000; const savings = totalBudget - totalExpense; const savingsPercentage = Math.round(savings / totalBudget * 100); // Custom formatter for Y-axis that removes currency symbol and uses K format const formatYAxisTick = (value: number) => { return `${Math.round(value / 1000)}K`; }; // Custom formatter for tooltip that keeps the original formatting with currency symbol const formatTooltip = (value: number | string) => { if (typeof value === 'number') { return new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW', maximumFractionDigits: 0 }).format(value); } return value; }; return
{/* Header */}

지출 분석

{/* Period Selector */}
{selectedPeriod}
{/* Summary Cards */}

예산

{new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW', notation: 'compact', maximumFractionDigits: 1 }).format(totalBudget)}

지출

{new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW', notation: 'compact', maximumFractionDigits: 1 }).format(totalExpense)}

저축

{savingsPercentage}%

{/* Monthly Comparison - MOVED UP */}

월별 그래프

{/* Category Pie Chart - MOVED DOWN */}

카테고리별 지출

{/* Top Spending Categories */}

주요 지출 카테고리

{expenseData.map((category, index) =>
{category.name}

{new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW', maximumFractionDigits: 0 }).format(category.value)}

{Math.round(category.value / totalExpense * 100)}%

)}
; }; export default Analytics;