- Removed individual context files for Auth, Flyers, MasterItems, Modal, UserData, and their respective hooks.
- Introduced centralized provider files for each context, encapsulating logic and state management.
- Updated imports across the application to reflect the new structure, ensuring all hooks and contexts are correctly referenced.
- Enhanced the AppProviders component to streamline the wrapping of all context providers in the application.
- Improved type definitions and context management for better type safety and clarity.
- Updated `useActiveDeals` hook to include reset functionality for API calls.
- Enhanced `useApi` hook to provide a reset method for clearing state.
- Refactored `useAuth`, `useFlyers`, `useMasterItems`, `useModal`, and `useUserData` hooks to utilize context providers for better state management.
- Created new context files: `AuthContext`, `FlyersContext`, `MasterItemsContext`, `ModalContext`, and `UserDataContext` to encapsulate related state and logic.
- Updated tests for hooks to accommodate changes in context structure and reset functionality.
- Adjusted imports in `index.tsx` to reflect new context structure.
- Updated personalization.db.test.ts to use mockClient for query calls in addWatchedItem tests.
- Simplified error handling in shopping.db.test.ts, ensuring clearer error messages.
- Added comprehensive tests for VoiceAssistant component, including rendering and interaction tests.
- Introduced useModal hook with tests to manage modal state effectively.
- Created deals.db.test.ts to test deals repository functionality with mocked database interactions.
- Implemented error handling tests for custom error classes in errors.db.test.ts.
- Developed googleGeocodingService.server.test.ts to validate geocoding service behavior with mocked fetch.
- Replaced direct API calls in useWatchedItems with useApi hook for add and remove watched items.
- Updated tests for useWatchedItems to mock useApi and verify API interactions.
- Consolidated error handling for API calls in useWatchedItems.
- Adjusted related hooks and components to ensure compatibility with the new structure.
- Added new ScaleIcon component for UI consistency.
- Implemented useFlyerItems and useFlyers hooks for fetching flyer data.
- Created useMasterItems and useUserData hooks for managing master grocery items and user data.
- Developed useInfiniteQuery hook for handling paginated API responses.
- Added comprehensive tests for useApi and useInfiniteQuery hooks.
- Introduced comparePrices API endpoint and corresponding client-side functionality.