Split the large Index.tsx file into smaller, more manageable components and custom hooks to improve code readability and maintainability. Ensure all functionality remains the same after refactoring.
The `useBudgetTabContent` hook was throwing an error when `data` prop was undefined. This commit adds a check to ensure that `data` is defined before accessing its properties.
Refactors the RecentTransactionsSection component into smaller, more manageable components and extracts related logic into separate hooks to improve code organization and maintainability.
- Fix the budget display issue where monthly budgets were showing four amounts instead of one.
- Resolve the functionality of the "Edit Budget" button.
Splits the BudgetTabContent component into smaller, more manageable components to improve code organization and maintainability. The UI and logic are separated into distinct components while preserving the original functionality.
Adds a payment method selection (Credit Card, Cash) to the expense form and includes a line separator. Also requests to add a graph showing the proportion of credit card and cash usage in expense analytics, but this part is not implemented in this commit.
The file `src/hooks/sync/syncResultHandler.ts` was throwing a TS2686 error because it was using `React` without importing it, even though it's a module. This commit adds `import React from 'react';` to resolve the issue.
Addresses an issue where budget data was lost after a data reset, logout, and subsequent synchronization. The fix ensures budget data is correctly restored in such scenarios.
- Resolves TypeScript errors related to missing exports and incorrect argument counts.
- Corrects re-exporting of types to comply with `isolatedModules` setting.
- Addresses issues in sync-related files to ensure proper functionality.
- Corrected import/export issues related to SyncResult, setSyncEnabled, and clearCloudData in syncUtils.ts.
- Updated function calls to match expected arguments.
- Resolve Typescript isolatedModules error by using 'export type' when re-exporting types.
- Fix module ambiguity by explicitly re-exporting 'BudgetContextType'.
- Correct import paths for useAuth hook in transaction-related files.
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`.