- 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.
- Added user_invites table to manage invitation tokens.
- Created invite router with procedures for sending, verifying, and accepting invites.
- Implemented email sending functionality for invites.
- Updated user controller to handle password setting during invite acceptance.
- Introduced mustChangePassword flag in user schema and related logic.
- Added middleware to enforce password change requirement.
- Created forms for accepting invites and changing passwords.
- Updated database migrations to reflect new user invite structure and fields.
- Replaced references to `api.settings` with `api.etichette`, `api.flags`, and `api.strings` in various admin pages to align with new API structure.
- Removed the deprecated `settingsRouter` and introduced `flagsRouter`, `etichetteRouter`, and `stringsRouter` to handle respective functionalities.
- Updated the `Flags` schema to change the `value` field from string to boolean.
- Modified flag handling logic in the `SendMessage` and `NewMail` functions to check for boolean flags instead of string values.
- Added migration script to convert the `value` column in the `flags` table from string to boolean.
- Implemented new routers for banners, etichette, flags, revalidation, and strings to encapsulate related functionalities.
- Updated package.json to include html2canvas-pro and jsPDF for PDF generation.
- Enhanced SchedaAnnuncioStampabile component to generate a PDF from HTML and send it via email.
- Implemented new API endpoint for sending the generated PDF as an email attachment.
- Refactored existing email sending logic across various controllers to use a unified template structure.
- Improved error handling and logging for email sending processes.
- Updated the announcement detail component to directly use images and videos from the data structure.
- Changed the form edit component to accommodate the new media structure, replacing AnnunciWithImages with AnnunciWithMedia.
- Modified the announcements list to initialize videos as an empty array.
- Enhanced the announcement view to handle external videos and updated the footer to display them correctly.
- Introduced a new utility function to generate YouTube embed URLs.
- Updated the database schema to replace url_video with external_videos and added a new videos_refs table for video management.
- Implemented video processing logic, including downloading, transcoding, and thumbnail generation.
- Added migration scripts for the new videos_refs table and updated existing references in the database.
- Implemented AdminLavoraConferma component to handle confirmation processes with document management.
- Added AdminContratto component for managing rental contracts and related documents.
- Introduced shared components for document selection and display (DocInfo and DocCombo).
- Enhanced storage controller with a new function to retrieve storage ID from user storage ID.
- Updated database interactions to improve error handling and data retrieval.
- Renamed `AnnunciInConferma` to `AnnunciInConfermaDialog` and `AnnunciSelezionati` to `AnnunciSelezionatiDialog` for clarity.
- Simplified button notifications for announcements by always displaying the count.
- Introduced `AnnunciInConfermaAccordion` and `AnnunciSelezionatiAccordion` components to manage accordion behavior for announcements.
- Updated button styles to remove unnecessary flex properties for better alignment.
- Improved form validation logic in `FormNewServizioAcquisto` for better clarity and performance.
- Enhanced the `UploadModal` to accept props directly, simplifying the component structure.
- Added a new `CardAnnuncio` component for displaying announcements with improved layout and functionality.
- Updated global styles to include a new background color variable.
- Refactored API routes and controllers for better clarity and maintainability.
- Cleaned up various components by removing redundant class names and improving accessibility.
- Updated CardAnnuncio and related components to use a new images structure instead of url_immagini.
- Removed references to url_immagini and replaced them with images array containing img and thumb properties.
- Adjusted API responses to include images in the new format.
- Modified middleware and storage service to accommodate new image handling.
- Cleaned up unused code and schemas related to old image references.
- Updated Docker configuration for storage service.
- Updated enum definitions in PaymentStatusEnum and TipologiaPosizioneEnum to use single quotes and consistent formatting.
- Refactored Payments, Prezziario, Ratelimiter, Servizio, and other schema files to ensure consistent indentation and formatting.
- Added `updated_at` field to various queries in interests and servizio controllers.
- Removed unused imageCache utility file.
- Added @t3-oss/env-nextjs for improved environment variable management.
- Updated zod to version 4.1.12 for enhanced validation capabilities.
- Upgraded jiti to version 2.6.1 for better module loading.
- Refactored environment variable imports from env.mjs to env.ts.
- Removed deprecated env.mjs file and replaced it with a new env.ts file using @t3-oss/env-nextjs.
- Adjusted various components and API routes to utilize the new environment variable structure.
- Updated next.config.js to support the new environment variable management.
- Modified Docker configuration to align with new BASE_URL handling.