Fix welcome message and sync

- Prevent duplicate welcome messages.
- Remove sync notifications.
- Ensure automatic sync updates last sync time.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-22 06:26:05 +00:00
parent eb25423b27
commit 09894589b4
8 changed files with 173 additions and 27 deletions

View File

@@ -5,15 +5,17 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle } from './ui/dialog';
import { toast } from '@/hooks/useToast.wrapper'; // 래퍼 사용
import { useBudget } from '@/contexts/BudgetContext';
import { supabase } from '@/lib/supabase';
import { isSyncEnabled } from '@/utils/syncUtils';
import { isSyncEnabled, setLastSyncTime, trySyncAllData } from '@/utils/syncUtils';
import ExpenseForm, { ExpenseFormValues } from './expenses/ExpenseForm';
import { Transaction } from '@/components/TransactionCard';
import { normalizeDate } from '@/utils/sync/transaction/dateUtils';
import useNotifications from '@/hooks/useNotifications';
const AddTransactionButton = () => {
const [showExpenseDialog, setShowExpenseDialog] = useState(false);
const [isSubmitting, setIsSubmitting] = useState(false);
const { addTransaction } = useBudget();
const { addNotification } = useNotifications();
// Format number with commas
const formatWithCommas = (value: string): string => {
@@ -68,10 +70,31 @@ const AddTransactionButton = () => {
});
if (error) throw error;
// 지출 추가 후 자동 동기화 실행
console.log('지출 추가 후 자동 동기화 시작');
const syncResult = await trySyncAllData(user.id);
if (syncResult.success) {
// 동기화 성공 시 마지막 동기화 시간 업데이트
const currentTime = new Date().toISOString();
console.log('자동 동기화 성공, 시간 업데이트:', currentTime);
setLastSyncTime(currentTime);
// 동기화 성공 알림 추가
addNotification(
'동기화 완료',
'방금 추가하신 지출 데이터가 클라우드에 동기화되었습니다.'
);
}
}
} catch (error) {
console.error('Supabase에 지출 추가 실패:', error);
// 실패해도 로컬에는 저장되어 있으므로 사용자에게 알리지 않음
// 실패 시 알림 추가
addNotification(
'동기화 실패',
'지출 데이터 동기화 중 문제가 발생했습니다. 나중에 다시 시도됩니다.'
);
}
// 다이얼로그를 닫습니다