- Modified the schedule to fetch data multiple times a day (11, 15, 18, 21h).
- Refactored MercadoAgroFetcher to compare new data against the last saved records for the current day.
- Added a repository method to replace the daily batch atomically, ensuring data integrity.
- Database writes are now skipped if no changes are detected, improving efficiency."
- All data widgets (tables and cards) now use the useIsHoliday hook.
- An informational alert is displayed on holidays, without hiding the last available data.
- Unifies loading state logic to wait for both data and holiday status, preventing race conditions.
- Ensures a consistent and robust user experience across all components."
- Adds a new `MercadosFeriados` table to the database to persist market holidays.
- Implements `HolidayDataFetcher` to update holidays weekly from Finnhub API.
- Implements `IHolidayService` with in-memory caching to check for holidays efficiently.
- Worker service now skips fetcher execution on market holidays.
- Adds a new API endpoint `/api/mercados/es-feriado/{mercado}`.
- Integrates a non-blocking holiday alert into the `BolsaLocalWidget`."