Implement personalized data handling

Implement personalized data handling based on the number of recent expense records.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-22 06:57:50 +00:00
parent 2732133e9c
commit 60ef765380
4 changed files with 224 additions and 8 deletions

View File

@@ -8,6 +8,10 @@ import {
} from '../storage';
import { toast } from '@/hooks/useToast.wrapper'; // 래퍼 사용
import { addToDeletedTransactions } from '@/utils/sync/transaction/deletedTransactionsTracker';
import {
updateTitleUsage,
analyzeTransactionTitles
} from '@/utils/userTitlePreferences';
// 트랜잭션 상태 관리 훅
export const useTransactionState = () => {
@@ -31,6 +35,9 @@ export const useTransactionState = () => {
// 상태 업데이트를 마이크로태스크로 지연
queueMicrotask(() => {
setTransactions(storedTransactions);
// 사용자 제목 선호도 분석 실행 (최근 50개 트랜잭션)
analyzeTransactionTitles(storedTransactions, 50);
});
} catch (error) {
console.error('[트랜잭션 상태] 트랜잭션 로드 오류:', error);
@@ -70,6 +77,9 @@ export const useTransactionState = () => {
localTimestamp: new Date().toISOString()
};
// 사용자 제목 선호도 업데이트
updateTitleUsage(transactionWithTimestamp);
setTransactions(prev => {
const updated = [transactionWithTimestamp, ...prev];
saveTransactionsToStorage(updated);
@@ -87,6 +97,9 @@ export const useTransactionState = () => {
localTimestamp: new Date().toISOString()
};
// 사용자 제목 선호도 업데이트
updateTitleUsage(transactionWithTimestamp);
setTransactions(prev => {
const updated = prev.map(transaction =>
transaction.id === updatedTransaction.id ? transactionWithTimestamp : transaction