Implement personalized data handling
Implement personalized data handling based on the number of recent expense records.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user