From 67256806fa26a62389fb84c5f27a336b3cf466b2 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sat, 8 Mar 2025 08:31:29 +0000 Subject: [PATCH] Visual edit in Lovable Edited UI in Lovable --- src/components/BudgetInputCard.tsx | 51 ++++++++---------------------- 1 file changed, 14 insertions(+), 37 deletions(-) diff --git a/src/components/BudgetInputCard.tsx b/src/components/BudgetInputCard.tsx index 9c40b84..a191f51 100644 --- a/src/components/BudgetInputCard.tsx +++ b/src/components/BudgetInputCard.tsx @@ -1,10 +1,8 @@ - import React, { useState, useEffect } from 'react'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { Check } from 'lucide-react'; - interface BudgetGoalProps { initialBudgets: { daily: number; @@ -13,13 +11,15 @@ interface BudgetGoalProps { }; onSave: (type: 'daily' | 'weekly' | 'monthly', amount: number) => void; } - -const BudgetInputCard: React.FC = ({ initialBudgets, onSave }) => { +const BudgetInputCard: React.FC = ({ + initialBudgets, + onSave +}) => { const [selectedTab, setSelectedTab] = useState<'daily' | 'weekly' | 'monthly'>('daily'); const [budgetInputs, setBudgetInputs] = useState({ daily: initialBudgets.daily.toString(), weekly: initialBudgets.weekly.toString(), - monthly: initialBudgets.monthly.toString(), + monthly: initialBudgets.monthly.toString() }); // Format for display without commas @@ -31,33 +31,27 @@ const BudgetInputCard: React.FC = ({ initialBudgets, onSave }) const formatWithCommas = (amount: string) => { return amount.replace(/\B(?=(\d{3})+(?!\d))/g, ','); }; - useEffect(() => { setBudgetInputs({ daily: formatForInput(initialBudgets.daily), weekly: formatForInput(initialBudgets.weekly), - monthly: formatForInput(initialBudgets.monthly), + monthly: formatForInput(initialBudgets.monthly) }); }, [initialBudgets]); - const handleInputChange = (value: string, type: 'daily' | 'weekly' | 'monthly') => { // Remove all non-numeric characters const numericValue = value.replace(/[^0-9]/g, ''); - setBudgetInputs(prev => ({ ...prev, [type]: numericValue })); }; - const handleSave = () => { const amount = parseInt(budgetInputs[selectedTab], 10) || 0; onSave(selectedTab, amount); }; - - return ( -
- setSelectedTab(value as 'daily' | 'weekly' | 'monthly')} className="w-full"> + return
+ setSelectedTab(value as 'daily' | 'weekly' | 'monthly')} className="w-full"> 일일 목표 @@ -72,13 +66,8 @@ const BudgetInputCard: React.FC = ({ initialBudgets, onSave })
- handleInputChange(e.target.value, 'daily')} - placeholder="목표 금액 입력" - className="neuro-pressed" - /> -
@@ -87,12 +76,7 @@ const BudgetInputCard: React.FC = ({ initialBudgets, onSave })
- handleInputChange(e.target.value, 'weekly')} - placeholder="목표 금액 입력" - className="neuro-pressed" - /> + handleInputChange(e.target.value, 'weekly')} placeholder="목표 금액 입력" className="neuro-pressed" /> @@ -102,12 +86,7 @@ const BudgetInputCard: React.FC = ({ initialBudgets, onSave })
- handleInputChange(e.target.value, 'monthly')} - placeholder="목표 금액 입력" - className="neuro-pressed" - /> + handleInputChange(e.target.value, 'monthly')} placeholder="목표 금액 입력" className="neuro-pressed" /> @@ -115,8 +94,6 @@ const BudgetInputCard: React.FC = ({ initialBudgets, onSave })

현재 월간 목표: {formatWithCommas(budgetInputs.monthly)}원

-
- ); +
; }; - -export default BudgetInputCard; +export default BudgetInputCard; \ No newline at end of file