Fix toast and data display issues
- Fixes an issue where toast notifications would not automatically dismiss. - Addresses a problem where expense data was not displaying correctly on the transaction and analytics screens.
This commit is contained in:
@@ -33,6 +33,7 @@ export const useTransactions = () => {
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [totalBudget, setTotalBudget] = useState(0);
|
||||
const { user } = useAuth();
|
||||
const [refreshKey, setRefreshKey] = useState(0); // 강제 새로고침을 위한 키
|
||||
|
||||
// 월 변경 처리
|
||||
const handlePrevMonth = () => {
|
||||
@@ -145,7 +146,26 @@ export const useTransactions = () => {
|
||||
window.removeEventListener('budgetDataUpdated', handleBudgetUpdate);
|
||||
window.removeEventListener('storage', () => {});
|
||||
};
|
||||
}, [user]);
|
||||
}, [user, refreshKey]);
|
||||
|
||||
// 정기적으로 데이터 새로고침
|
||||
useEffect(() => {
|
||||
const refreshInterval = setInterval(() => {
|
||||
loadTransactions();
|
||||
}, 5000); // 5초마다 데이터 새로고침
|
||||
|
||||
// 페이지 포커스 시 새로고침
|
||||
const handleFocus = () => {
|
||||
loadTransactions();
|
||||
};
|
||||
|
||||
window.addEventListener('focus', handleFocus);
|
||||
|
||||
return () => {
|
||||
clearInterval(refreshInterval);
|
||||
window.removeEventListener('focus', handleFocus);
|
||||
};
|
||||
}, []);
|
||||
|
||||
// 트랜잭션 업데이트
|
||||
const updateTransaction = (updatedTransaction: Transaction) => {
|
||||
@@ -181,6 +201,12 @@ export const useTransactions = () => {
|
||||
});
|
||||
};
|
||||
|
||||
// 데이터 강제 새로고침
|
||||
const refreshTransactions = () => {
|
||||
setRefreshKey(prev => prev + 1);
|
||||
loadTransactions();
|
||||
};
|
||||
|
||||
return {
|
||||
transactions: filteredTransactions,
|
||||
isLoading,
|
||||
@@ -194,6 +220,6 @@ export const useTransactions = () => {
|
||||
updateTransaction,
|
||||
deleteTransaction,
|
||||
totalExpenses: calculateTotalExpenses(filteredTransactions),
|
||||
refreshTransactions: loadTransactions
|
||||
refreshTransactions
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user