This commit refactors the project to improve overall code quality, performance, and maintainability. Specific changes may include code cleanup, optimization, and architectural enhancements.
1. UI와 서버 작업 완전 분리하여 응답성 향상
2. AbortController를 이용한 Supabase 타임아웃 처리 구현
3. requestAnimationFrame 및 queueMicrotask 활용한 비동기 최적화
4. 메모리 누수 방지를 위한 pendingDeletion 상태 관리 개선
5. 타입 안전성 향상 (any 타입 제거)
트랜잭션 삭제 시 앱 먹통 현상 해결
The `updateTransaction` function was not exported from the `updateTransaction.ts` file. Changed the import statement to use the correct function name `useUpdateTransaction`.
Refactor src/utils/auth/network/networkUtils.ts to remove unnecessary code and simplify it for Supabase Cloud environment, especially cleaning up CORS proxy-related code.
The TransactionsContent component's onTransactionDelete prop was expecting a function that returns a boolean or a Promise<boolean>, but was receiving a function that returns void. This commit updates the type definition to match the expected return type.
The onDelete prop in TransactionCard component expects a function that returns boolean or Promise<boolean>, but TransactionDateGroup was passing a function with void return type. This commit updates the type definition to match the expected return type.
The `onDelete` prop in `TransactionCard` and `RecentTransactionsSection` components was expecting a function that returns a boolean or a Promise resolving to a boolean, but was receiving a function that returns void. This commit updates the type definition and implementation to ensure the `onDelete` function returns the expected type.
The `deleteTransactionFromSupabase` function was defined in both `deleteTransactionStorage.ts` and `supabaseUtils.ts`. This commit removes the duplicate definition from `deleteTransactionStorage.ts` to resolve the error.
Fixes TypeScript errors related to type assignments and declaration conflicts. Specifically, addresses the type mismatch in `TransactionEditDialog.tsx` and declaration conflicts in `deleteTransactionStorage.ts`.
Fixes an issue where entering a monthly budget resulted in incorrect daily, weekly, and monthly budget calculations, leading to incorrect display on the spending and analytics screens.
The settings page was reloading slowly after a data reset. This commit addresses the issue by preventing the unnecessary reload after the reset operation.
The sync setting was not consistently being disabled in certain scenarios. This change ensures that the sync setting is properly disabled when expected.
Refactors the useSyncSettings hook into smaller, more manageable modules to improve code organization and maintainability. The functionality of the hook remains unchanged.
The variable `isCanceled` was not defined in the scope of the `setTimeout` callback within `deleteTransactionCore.ts`, leading to an error. This commit defines `isCanceled` within the scope to resolve the issue.