- Introduced a new page for managing appunti in the admin area.
- Created AppuntiProvider to manage appunti state and API interactions.
- Added schemas for appunti and appunti groups.
- Implemented CRUD operations for appunti and appunti groups in the API.
- Removed potenziali related files and services as part of the refactor.
- Updated the public schema to include appunti and appunti groups.
- Improved error handling in the appunti service.
Co-authored-by: Copilot <copilot@github.com>
- Replaced custom Zod types with imported schemas in stripe router and user router.
- Updated payment controller to use new enum imports for order types and payment statuses.
- Refactored payment tests to utilize the new enum structure.
- Removed deprecated zod_types file and created new zod_chat_types file for chat-related schemas.
- Adjusted service files to align with the new order type enums and schemas.
- Enhanced the Caratteristiche type definition using Zod for better validation.
Co-authored-by: Copilot <copilot@github.com>
- Introduced Zod schemas for validation in the following entities:
- Provincie
- Ratelimiter
- Rinnovi
- Servizio
- ServizioAnnunci
- ServizioInteressi
- TestiEStringhe
- Users
- UserEtichette
- UserInvites
- UsersAnagrafica
- UsersStorage
- VideosRefs
- StatusConfermaEnum
- TipologiaPosizioneEnum
- Updated API routes in `catasto.ts` to include CRUD operations for Comuni, Nazioni, and Provincie with appropriate input validation.
- Enhanced controller methods in `catasto.controller.ts` to handle create, edit, and delete operations for Comuni and Nazioni.
- Added new utility Zod types for ComuniId, NazioniId, and ProvincieId.
Co-authored-by: Copilot <copilot@github.com>
- Added file attachment support in chat messages, allowing users to upload and send files.
- Implemented a new API endpoint to retrieve message attachments.
- Updated chat components to display attachments and handle file uploads.
- Improved user experience with loading indicators and toast notifications for file uploads.
- Refactored chat bottom bar to integrate file upload functionality seamlessly.
- Enhanced chat list to show attachments associated with messages.
- Updated database schema to support attachments in chat messages.
Co-authored-by: Copilot <copilot@github.com>
- Updated ChatTopbar and Chat components to utilize ChatProvider for managing chat state and user information.
- Removed unnecessary props from ChatTopbar and adjusted its implementation to fetch data from context.
- Added ChatProvider to encapsulate chat-related state and functionality.
- Enhanced message handling by introducing reply and forward features in the chat schema and API.
- Cleaned up unused components and optimized imports across chat-related files.
- Improved user avatar color generation logic and removed hardcoded color values.
- Updated loading states and error handling in admin chat management pages.
- Added ChatBubble component for displaying individual chat messages with read status and timestamps.
- Introduced ChatList component to manage and display a list of messages, including editing and deleting functionalities.
- Created ChatSidebar for navigating between active chats and managing user interactions.
- Developed ChatTopbar for displaying chat information and admin actions.
- Implemented loading animation for messages with MessageLoading component.
- Enhanced user experience with context menus for chat options and dialogs for editing and deleting messages.
- Updated @tiptap packages to version 3.22.3 for improved functionality.
- Upgraded react-email to version 5.2.10 for bug fixes.
- Updated @biomejs/biome to version 2.4.11 for better performance.
- Upgraded knip to version 6.4.1 for enhanced features.
- Improved null checks in modale_contatti.tsx, trpc.ts, annunci.controller.ts, and event_queue.controller.ts for better error handling.
- Changed the confirmation status checks from `accettato_conferma_at` to `status_conferma` in various components and controllers.
- Introduced a new `StatusConfermaEnum` to standardize confirmation statuses.
- Removed deprecated confirmation-related fields from the `ServizioAnnunci` schema.
- Deleted unused confirmation-related API methods and adjusted related logic in the service controller.
- Updated the search parameters schema to use the new confirmation status.
- Removed the `conferma-immobile` and `riapri-conferma` pages as they are no longer needed.
- Add new page for managing Stripe reports with functionality to generate and view reports.
- Create API router for handling Stripe report operations including listing, setting up, and generating reports.
- Introduce caching service for managing cache invalidation related to reports.
- Update Typst templates for formatting financial reports in EUR.
- Enhance utility functions for price formatting and error handling.
- Implement a script to check for unused tRPC procedures in the codebase.
- Implemented FormNewMail for creating new email entries in the queue.
- Enhanced AdminPotenziali page layout for better responsiveness.
- Added Coda component to manage user email queues, including adding, removing, and clearing emails.
- Updated API routes for managing email queue operations, including adding, removing, and clearing user email queues.
- Introduced new mail templates and integrated them into the mailer service.
- Improved error handling in the email queue controller and service.
- Added Zod validation for event IDs in the utility types.
- Added Typst templates for receipts and announcements.
- Implemented TypstRunner and TypstRunner2 services for PDF generation.
- Included necessary fonts for Typst rendering.
- Updated Dockerfile to install Typst and Pandoc.
- Enhanced API with new endpoints for Typst functionality.
- Added temporary directory handling for generated files.
- Updated .gitignore and .dockerignore to exclude temporary files.
- Updated RichiesteTable to display decorrenza with tooltip based on status.
- Enhanced status display with badges indicating various states (e.g., Attesa attivazione, Interrotto).
- Added Popover for displaying Annunci details in RichiesteTable.
- Refactored API to fetch user interests and related announcements.
- Introduced Queue component to display email events for users.
- Updated translations to include new "Requests" section in admin navigation.
- Improved database queries for fetching user interests and announcements.
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
- Refactor `preparePayment` function to handle multiple order types including Rinnovo.
- Introduce new `RinnovoSolver` function to calculate renewal packs based on duration.
- Add `createRinnovo` service to manage the creation of renewal orders.
- Update `whIntentSucceededHandler` to handle payment confirmations for Rinnovo and other order types.
- Introduce default conditions for packs in `prezziario.service.ts`.
- Add new utility functions for managing renewal durations and permanenza.
- Update database interactions to ensure proper handling of orders and renewals.
- Enhance error handling and logging throughout the payment and renewal processes.