- Updated @astrojs/cloudflare from ^12.5.1 to ^12.5.3
- Updated @astrojs/node from ^9.2.1 to ^9.2.2
- Updated @astrojs/react from ^4.2.5 to ^4.3.0
- Updated @prisma/client from ^6.7.0 to ^6.8.2
- Updated @radix-ui/react-dialog from ^1.1.13 to ^1.1.14
- Updated @radix-ui/react-dropdown-menu from ^2.1.14 to ^2.1.15
- Updated @radix-ui/react-form from ^0.1.6 to ^0.1.7
- Updated @radix-ui/react-select from ^2.2.4 to ^2.2.5
- Updated @radix-ui/react-toast from ^1.2.13 to ^1.2.14
- Updated @types/react from ^19.1.2 to ^19.1.5
- Updated @types/react-dom from ^19.1.2 to ^19.1.5
- Updated astro from ^5.7.5 to ^5.8.0
- Updated @types/node from ^20.11.0 to ^22.15.21
- Updated @vitejs/plugin-react from ^4.4.1 to ^4.5.0
- Updated @vitest/coverage-v8 from ^3.1.3 to ^3.1.4
- Updated prisma from ^6.7.0 to ^6.8.2
- Updated supertest from ^7.1.0 to ^7.1.1
- Updated vitest from ^3.1.2 to ^3.1.4
- Updated wrangler from ^4.13.1 to ^4.16.1
- Remove Font Awesome files from public/assets and update .gitignore
- Switch from CDN to local npm package for Font Awesome
- Update BaseLayout.astro to use Font Awesome from node_modules
- Add specific gitignore patterns for vendor files
- Keep public/assets directory structure for future custom assets
This change improves the project by:
1. Using proper dependency management through npm
2. Reducing external dependencies on CDN
3. Maintaining cleaner source control
4. Following best practices for vendor file management
This commit resolves an issue where the Update button in the transaction form
would remain disabled when attempting to edit a transaction. The problem was
in how the transactionStore was managing state updates during transaction editing.
Key changes:
- Enhanced startEditingTransaction function in transactionStore.ts to ensure proper reactivity
- Added clean copy creation of transaction objects to avoid reference issues
- Implemented a state update cycle with null value first to force reactivity
- Added a small timeout to ensure state changes are properly detected by components
The Transaction form now correctly enables the Update button when in edit mode,
regardless of account selection state.
- Added React testing setup with JSDOM
- Added component tests for AddTransactionForm and TransactionTable
- Improved error handling and success messages in components
- Updated test configuration and dependencies
- Added CSS for error and success states
- Added @nanostores/react for state management.
- Created AccountSummary component to display account balance.
- Replaced AddTransactionForm.astro with AddTransactionForm.tsx for better state handling.
- Introduced TransactionTable.tsx for displaying transactions with edit/delete functionality.
- Updated Sidebar.astro and MainContent.astro to use React components.
- Implemented transactionStore.ts for managing current account ID and transaction editing state.
- Removed obsolete AddTransactionForm.astro and related scripts.
- Enhanced error handling and loading states in transaction forms.
This fixes issues #7, #8, #9, #10, #11
- Updated dependencies in package.json for Astro, React, and testing libraries.
- Added .assetsignore to exclude specific files from asset uploads.
- Refactored AccountSummary, MainContent, and Sidebar components for clarity and maintainability.
- Enhanced tsconfig.json to support React JSX syntax.
- Created wrangler.jsonc for Cloudflare Workers configuration.
- Updated package.json to include Vitest for testing and added necessary devDependencies.
- Created accounts.test.ts to test the accounts API endpoints for listing and retrieving accounts.
- Implemented setup.ts to reset test data before each test run.
- Developed transactions.test.ts to cover creating, updating, and deleting transactions through the API.
- Added vitest.config.ts for configuring Vitest with appropriate settings and coverage options.