feat: update Servizio component to handle interruzioneDays and acceptedInterr logic
refactor: simplify servizio_actions by removing unused InterruzioneServizio and EditParametri components
feat: enhance FormEditServizioAdmin to include interruzioneDays and acceptedInterr fields
fix: adjust email service to delete obsolete emails and handle invalid email types gracefully
chore: update stripe controller to utilize interruzioneDays for lock expiration logic
fix: ensure correct handling of servizio expiration and interruzione logic in service controller
feat: create AnnuncioNotFound page to handle missing announcements gracefully
feat: refactor Annuncio component to use structured AnnuncioData and improve SEO metadata handling
refactor: remove unused getAnnuncioMetaByCod function and streamline getAnnuncioData logic
- Added `CalcolaCodiceFiscale` function to calculate Italian fiscal code based on name, surname, birth date, gender, and municipality code.
- Introduced utility functions for generating parts of the fiscal code, including handling special cases for names and surnames.
- Created tests for the fiscal code calculation covering various scenarios.
- Updated forms to enforce a maximum length for the fiscal code input.
- Added `vitest` for testing and configured it with Vite.
- Updated package dependencies to include testing libraries and Vite plugins.
- Removed AcquistoProcessing component and replaced it with a new CheckoutForm component for better separation of concerns.
- Added new payment checkout page to handle payment intents and display payment status.
- Updated server-side logic to create payment intents and retrieve payment data for checkout.
- Enhanced error handling and user feedback during payment processing.
- Introduced new utility functions for fetching payment data and managing Stripe integration.
- Enhanced the CardInfos component in [cod].tsx with improved styling and added TrafficCone icon for status indication.
- Increased dialog content width in prezziario.tsx and testi-stringhe.tsx for better layout.
- Replaced static badge elements with the Badge component in chi-siamo.tsx, contatti.tsx, guida.tsx, prezzi.tsx, and proprietari.tsx for consistent styling.
- Updated button components to use the Button component in contatti.tsx and proprietari.tsx for improved accessibility and styling.
- Modified the TrovaCasaCTA and FrequentSearches components in index.tsx for better visual consistency and updated color usage.
- Refactored global CSS variables for improved color management and added new color variables for better theme support.
- Implemented dynamic loading for the KabanExample component in test.tsx to enhance performance.
- Updated `initializeComuniNames` to accept an optional `provincia` parameter for filtering comuni by province.
- Renamed `getComuniNames` to `getComuni` and modified it to return an array of objects containing both comune names and their respective province siglas.
- Introduced `provincieWithSigla` array to map province names to their siglas, along with a new function `getProvinciaFromSigla` for retrieving province names based on sigla.
- Added a dynamic import for the `FormDebug` component to facilitate debugging in development mode while preventing it from rendering in production.
- Commented out console logs in `checkFiscalCodeValidity` for cleaner production output.
- Changed all zod imports from "zod" to "zod/v4" across multiple files.
- Updated error handling in forms to use new zod error configuration.
- Refactored custom error mapping to align with zod v4 changes.
- Adjusted password validation logic to utilize new zod features.
- Cleaned up unused locale error mapping code.
- Enhanced type definitions for async iterables in zod utility functions.