Commit Graph

90 Commits

Author SHA1 Message Date
fa12a8de85 feat(extraordinary-expenses): Add module for extraordinary expenses
Introduces a new module to manage and track extraordinary expenses within condominiums. This includes defining expense items, sharing arrangements, and attaching relevant documents.

The module adds new types for `ExpenseItem`, `ExpenseShare`, and `ExtraordinaryExpense`. Mock database functions are updated to support fetching, creating, and managing these expenses. UI components in `Layout.tsx` and `Settings.tsx` are modified to include navigation and feature toggling for extraordinary expenses. Additionally, new routes are added in `App.tsx` for both administrative and user-facing views of these expenses.
2025-12-09 23:00:05 +01:00
048180db75 Update nginx.conf 2025-12-09 17:46:01 +01:00
b43e29d2e2 Update Dockerfile 2025-12-09 17:45:33 +01:00
d726697aa2 Update .dockerignore 2025-12-09 17:45:13 +01:00
0241e5c91a Update Dockerfile 2025-12-09 17:44:49 +01:00
76c1a097b5 feat: Add SMTP testing and improve Docker setup
Introduce a new feature to test SMTP configuration directly from the settings page. This involves adding a new API endpoint and corresponding UI elements to trigger and display the results of an SMTP test.

Additionally, this commit refactors the Docker setup by consolidating Dockerfiles and removing unnecessary configuration files. The goal is to streamline the build process and reduce image size and complexity.
2025-12-09 17:44:25 +01:00
22b076fff9 Update nginx.conf 2025-12-09 16:28:42 +01:00
90caf3b3ed Update Dockerfile 2025-12-09 16:28:23 +01:00
4576557dde Update .dockerignore 2025-12-09 16:28:04 +01:00
7e5e311a10 Update Dockerfile 2025-12-09 16:27:36 +01:00
a97dcfa33e feat: Implement ticket commenting functionality
Adds the ability for users to comment on tickets, view comments, and distinguish between user and admin responses. Also introduces a new 'SUSPENDED' status for tickets and refactors database schema and API endpoints to support comments.
2025-12-09 15:58:52 +01:00
4107051585 Update nginx.conf 2025-12-09 14:17:18 +01:00
d83a33c7ef Update Dockerfile 2025-12-09 14:16:56 +01:00
d96a3784c5 Update .dockerignore 2025-12-09 14:16:35 +01:00
bd38d760d4 Update Dockerfile 2025-12-09 14:16:12 +01:00
25eafb1c6e feat: Refine notice filtering and Docker setup
Implement granular notice filtering logic based on user roles and notice targeting.
Update Dockerfiles and .dockerignore for a cleaner build process.
2025-12-09 14:15:43 +01:00
891ea7a12c Update Dockerfile 2025-12-09 14:07:27 +01:00
7f495bf444 Update nginx.conf 2025-12-09 14:06:17 +01:00
83257e74d6 Update Dockerfile 2025-12-09 14:05:56 +01:00
35098abbad Update .dockerignore 2025-12-09 14:05:36 +01:00
b04d75c0b9 Update Dockerfile 2025-12-09 14:05:15 +01:00
ca38e891c9 feat: Add targeted notices to Condopay
Implements the ability to send notices to specific families within a condominium, rather than broadcasting to all. This includes:
- Updating the `Notice` type with `targetFamilyIds`.
- Adding a `target_families` JSON column to the `notices` table in the database, with a migration for existing installations.
- Modifying the API to handle the new `targetFamilyIds` field during notice creation and retrieval.
- Updating the UI to allow users to select specific families for notices.
2025-12-09 14:04:49 +01:00
bd6fce6f51 Update .dockerignore 2025-12-09 13:56:00 +01:00
d15e1e9b79 Update Dockerfile 2025-12-09 13:55:37 +01:00
3a0021c5d8 feat: Add PayPal configuration to settings
Introduces the ability to configure PayPal credentials for individual condos within the settings. This feature is only visible if PayPal is enabled in the global settings. Also removes and simplifies Dockerfile configurations.
2025-12-09 13:55:11 +01:00
4111ceebfe Update nginx.conf 2025-12-09 13:36:52 +01:00
3fe50b264f Update Dockerfile 2025-12-09 13:36:29 +01:00
190cd251b2 Update .dockerignore 2025-12-09 13:36:08 +01:00
cf8a75fdae Update Dockerfile 2025-12-09 13:35:45 +01:00
a5645a32c0 feat: Add reports feature
Enables a new reports section in the application. This includes:
- Adding a `reports` flag to `AppFeatures` and `AppSettings`.
- Including a new "Reportistica" link in the main navigation for privileged users.
- Adding a `getCondoPayments` endpoint to the mock DB service.
- Updating the backend to support filtering payments by `condoId`.
- Providing a basic `ReportsPage` component.
2025-12-09 13:35:10 +01:00
25d84e7b51 Update nginx.conf 2025-12-07 23:32:22 +01:00
153e0c64fa Update Dockerfile 2025-12-07 23:31:50 +01:00
9ddb9f792c Update .dockerignore 2025-12-07 23:31:28 +01:00
dd95302689 Update Dockerfile 2025-12-07 23:31:06 +01:00
0f82df517b feat: Enhance admin access and UI for privileged users
Grant 'poweruser' role access to administrative settings and sections. Update UI to reflect elevated privileges and adjust default tab navigation for these users. Modify server-side access control to include 'poweruser' alongside 'admin' for privileged routes.
2025-12-07 23:30:06 +01:00
80d658a536 feat: Improve payment modal logic and Docker configuration
Refactor the family detail page to introduce a new `handleOpenAddModal` function. This function intelligently sets the default payment method based on the current user's role: 'manual' for admins/power users and 'paypal' for others. This enhances user experience by pre-selecting the most appropriate payment option.

Additionally, the Docker configuration files have been updated. The mult-stage build setup for the frontend and backend has been removed in favor of a simpler structure, streamlining the Docker build process. The `nginx.conf` has also been updated to reflect these changes and ensure proper proxying.
2025-12-07 23:16:47 +01:00
759322c4c6 Update Dockerfile 2025-12-07 22:47:45 +01:00
426f0067aa Update Dockerfile 2025-12-07 22:47:18 +01:00
d5b1a1ab16 Update Dockerfile 2025-12-07 22:46:42 +01:00
64669537dd Update nginx.conf 2025-12-07 22:46:18 +01:00
76044522e9 Update Dockerfile 2025-12-07 22:45:50 +01:00
daa0ea172e Update .dockerignore 2025-12-07 22:45:26 +01:00
8ea1e231fd feat: Integrate PayPal for payments
Adds the `@paypal/react-paypal-js` dependency and updates import maps to support PayPal integration. Cleans up Dockerfile and Nginx configuration, removing them as they are no longer needed in this version.
2025-12-07 22:44:00 +01:00
2f4ba7f4b5 Update Dockerfile 2025-12-07 20:31:18 +01:00
b7d90b1902 Update nginx.conf 2025-12-07 20:30:55 +01:00
af925e79f3 Update Dockerfile 2025-12-07 20:30:34 +01:00
7a84a63179 Update .dockerignore 2025-12-07 20:30:08 +01:00
0b2453e5a9 feat: Implement Docker build and serving setup
Adds Dockerfile for frontend and backend, along with Nginx configuration and .dockerignore files. This enables containerized deployment and proper handling of static assets and API proxying. Updates mockDb.ts to correctly type ticket attachments.
2025-12-07 20:29:36 +01:00
919be985c9 feat: Introduce app feature flags
This commit refactors the application settings to include a new `AppFeatures` interface. This allows for granular control over which features are enabled for the application.

The `AppFeatures` object includes boolean flags for:
- `multiCondo`: Enables or disables the multi-condominium management feature.
- `tickets`: Placeholder for future ticket system integration.
- `payPal`: Enables or disables PayPal payment gateway integration.
- `notices`: Enables or disables the display and management of notices.

These flags are now fetched and stored in the application state, influencing UI elements and logic across various pages to conditionally render features based on their enabled status. For example, the multi-condo selection in `Layout.tsx` and the notice display in `FamilyList.tsx` are now gated by these feature flags. The `FamilyDetail.tsx` page also uses the `payPal` flag to conditionally enable the PayPal payment option.

The `SettingsPage.tsx` has been updated to include a new 'features' tab for managing these flags.
2025-12-07 20:21:01 +01:00
5311400615 feat: Add tickets module and PayPal integration
Introduces a new 'Tickets' module for users to submit and manage issues within their condominium. This includes defining ticket types, statuses, priorities, and categories.

Additionally, this commit integrates PayPal as a payment option for family fee payments, enabling users to pay directly via PayPal using their client ID.

Key changes:
- Added `Ticket` related types and enums.
- Implemented `TicketService` functions for CRUD operations.
- Integrated `@paypal/react-paypal-js` library.
- Added `paypalClientId` to `AppSettings` and `Condo` types.
- Updated `FamilyDetail` page to include PayPal payment option.
- Added 'Segnalazioni' navigation link to `Layout`.
2025-12-07 19:49:59 +01:00