Commit Graph

943 Commits

Author SHA1 Message Date
Knee Cola
cd3701480d Merge branch 'hotfix/2.3.2' 2025-11-24 22:36:02 +01:00
Knee Cola
20e4c6eaf9 Merge branch 'hotfix/2.3.2' into develop 2025-11-24 22:36:02 +01:00
Knee Cola
59654ccf88 configured unique network name 2025-11-24 22:35:57 +01:00
Knee Cola
0b2b8c9af7 Merge branch 'hotfix/2.3.1' 2025-11-24 22:33:10 +01:00
Knee Cola
cc82b77284 Merge branch 'hotfix/2.3.1' into develop 2025-11-24 22:33:10 +01:00
Knee Cola
7dc3048dbc simplifying service names 2025-11-24 22:31:19 +01:00
Knee Cola
f7b4941e1e Merge branch 'release/2.3.0' 2025-11-24 22:19:34 +01:00
Knee Cola
0fff596602 Merge branch 'release/2.3.0' into develop 2025-11-24 22:19:34 +01:00
Knee Cola
b650620390 (bugfix) typescript error 2025-11-24 22:19:28 +01:00
Knee Cola
90e24a5739 2.3.0 2025-11-24 22:18:21 +01:00
Knee Cola
2584497bc4 Merge branch 'feature/securing-db-pass' into develop 2025-11-24 22:17:51 +01:00
Knee Cola
7cefe54eb0 security: configured secure mongo pass 2025-11-24 22:17:39 +01:00
Knee Cola
a37e0dc7c7 Merge branch 'feature/improving-styling' into develop 2025-11-24 21:12:08 +01:00
Knee Cola
248d29ef22 style: replace fieldset with divider in LocationCard monthly statement
- Replace bordered fieldset with divider for cleaner visual separation
- Adjust spacing and margins for better alignment
- Remove card-based container in favor of simpler layout
- Maintain all functionality while improving visual consistency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:10:54 +01:00
Knee Cola
a2ccde16e5 style: improve LocationEditForm fieldset styling and formatting
- Wrap location name input in styled fieldset matching other sections
- Add consistent bg-base-200 border styling to location name fieldset
- Fix indentation and whitespace for better code consistency
- Remove trailing whitespace throughout the file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:04:21 +01:00
Knee Cola
e554fe3cb2 refactor: improve InfoBox and NoteBox components with collapsible design
- Convert InfoBox to collapsible details element with chevron indicators
- Add internationalized default title support for InfoBox
- Update NoteBox styling to match new design system
- Replace custom alert styling with consistent border-based design
- Add text-base class to fieldset legends for uniform sizing
- Remove className prop from InfoBox and NoteBox (no longer needed)
- Update translations for clearer payment instruction descriptions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:00:28 +01:00
Knee Cola
228a0ce556 Merge branch 'release/2.2.0' 2025-11-24 18:42:34 +01:00
Knee Cola
fd0fbafb3a Merge branch 'release/2.2.0' into develop 2025-11-24 18:42:34 +01:00
Knee Cola
58108a61d3 npm i 2025-11-24 18:42:26 +01:00
Knee Cola
6af9c029e3 2.2.0 2025-11-24 18:40:14 +01:00
b6f34ebfec Merge branch 'feature/revolute-link-support' into develop 2025-11-24 17:02:38 +01:00
830578c2e4 refactor: improve payment method dropdown UX with inline disabled labels
- Remove disabled attribute from select - users can now always see all options
- Add conditional option labels showing "(disabled in app settings)" for unavailable methods
- Add userSettings check to IBAN form display condition
- Remove NoteBox warning (replaced by inline disabled labels in options)
- Remove unused NoteBox import
- Remove redundant InfoBox message
- Add English and Croatian translations for disabled option labels
- Clean up removed translation keys

Better UX: Users can now see why payment options are unavailable directly in the dropdown.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 17:02:09 +01:00
600e31e7b1 feat: disable payment method select when no payment methods configured
- Add userSettings prop to LocationEditForm to check payment configuration
- Disable payment method dropdown when neither IBAN nor Revolut is enabled
- Force select value to "none" when both methods are disabled
- Disable individual IBAN/Revolut options when not configured
- Display NoteBox warning explaining why payment options are unavailable
- Update LocationEditPage and LocationAddPage to fetch and pass userSettings
- Add English and Croatian translations for disabled state message

This prevents users from configuring location payment methods before setting up their own payment info.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:48:23 +01:00
88b6b32c3e feat: update payment instructions for tenants in English and Croatian 2025-11-24 16:42:55 +01:00
f47693fdd6 (refactor) formatting revolut link 2025-11-24 16:39:10 +01:00
4c7a423a4d feat: formatting revolut link 2025-11-24 16:35:20 +01:00
ab0b661567 refactor: improve Revolut QR code styling and amount format
- Move styling classes (padding, background, border) directly to QRCode component
- Keep amount in cents as integer instead of converting to decimal (Revolut API expects cents)
- Fix URL template string (remove extra closing brace)
- Remove empty line for cleaner code
- Add space between size and className attributes

Amount format: from (monthlyExpense / 100).toFixed(2) to monthlyExpense.toFixed(0)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:32:40 +01:00
3ef9e411e9 feat: add QR code for Revolut payment link
- Install react-qr-code package for QR code generation
- Replace placeholder with actual QR code component in ViewLocationCard
- QR code displays Revolut payment URL with amount, currency, and profile
- Center-aligned QR code (200x200px) in white container with border
- Extract revolutPaymentUrl to single variable for reuse in QR code and link

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:25:06 +01:00
df9a3596f3 feat: add Revolut profile tooltip and test link to UserSettingsForm
- Add tooltip under Revolut profile input explaining where to find the profile name
- Add test payment link that appears when profile name is valid (>5 chars)
- Reorder ViewLocationCard payment UI: QR code placeholder first, link below centered
- Replace hardcoded text with translation keys for better i18n support
- Add English and Croatian translations for test link and payment button

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:21:28 +01:00
bd283ce6db (refactor) removed "reference" from revolute URL 2025-11-24 15:53:01 +01:00
7c8497ccfe feat: add Revolut payment link to ViewLocationCard
- Display Revolut payment link when enableRevolutPayment is enabled and tenantPaymentMethod is "revolut"
- Generate payment link with profile name (@ symbol removed), amount, currency, and reference
- Convert amount from cents to main currency unit (divide by 100, fixed to 2 decimals)
- Add placeholder for QR code (to be implemented)
- Remove unused import (inspector)

Payment link format: https://revolut.me/{profile}?amount={amount}&currency={currency}&reference={text}

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:45:19 +01:00
4e9e5ca8d2 feat: add validation for Revolut profile name format
- Add ownerRevolutProfileName field validation when enableRevolutPayment is true
- Validate profile name must start with '@' and contain only letters and numbers
- Add required field validation for Revolut profile name
- Add English and Croatian error messages for validation failures
- Update State type to include ownerRevolutProfileName errors

Validation regex: /^@[a-zA-Z0-9]+$/
Valid examples: @john123, @ivan, @user2024

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:39:37 +01:00
c4c9b409d0 style: normalize English translation capitalization
- Change uppercase section headers to title case for consistency
- "AUTOMATIC UTILITY BILL FORWARDING" → "Automatic utility bill forwarding"
- "AUTOMATIC RENT NOTIFICATION" → "Automatic rent notification"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:35:12 +01:00
3e581d8878 refactor: replace generateTenantCode boolean with tenantPaymentMethod enum
- Replace generateTenantCode boolean field with tenantPaymentMethod enum ("none" | "iban" | "revolut")
- Update LocationEditForm to use dropdown select instead of toggle for payment method selection
- Consolidate multiple useState hooks into single formValues state object
- Change from defaultValue to controlled components with value/onChange pattern
- Add hidden inputs to preserve tenant data when payment method is not selected
- Update validation logic to check tenantPaymentMethod === "iban"
- Update ViewLocationCard to use new tenantPaymentMethod field
- Add Croatian translations for new dropdown options

This provides better scalability for adding future payment methods and improves form state management.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:34:59 +01:00
ead7451170 (refactor) LocationEditForm: renaming localization string names 2025-11-24 14:50:54 +01:00
632f8888b5 refactor: replace payment dropdown with independent toggles
- Replace showPaymentInstructionsInMonthlyStatement dropdown with enableIbanPayment and enableRevolutPayment boolean toggles
- Update UserSettingsForm to use separate fieldsets for IBAN and Revolut with independent toggle switches
- Add hidden inputs to preserve values when toggles are disabled
- Update validation logic to check enableIbanPayment instead of show2dCodeInMonthlyStatement
- Reorganize translation keys to match new structure (iban-* and revolut-* prefixes)
- Update ViewLocationCard to use enableIbanPayment field

This provides better UX by allowing users to enable both payment methods simultaneously if needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 14:45:59 +01:00
686bec6c10 feat: add Revolut payment link support alongside IBAN
- Add NoteBox component for displaying warning messages with icon
- Add Revolut profile name field to user settings schema
- Update UserSettingsForm to support payment instruction selection (disabled/IBAN/Revolut)
- Add Croatian and English translations for new payment options
- Reserve fields for future per-instruction enable/disable functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 13:37:54 +01:00
Knee Cola
187fe29bb1 Merge branch 'hotfix/2.1.2' 2025-11-23 23:03:11 +01:00
Knee Cola
64b31a08b4 Merge branch 'hotfix/2.1.2' into develop 2025-11-23 23:03:11 +01:00
Knee Cola
b3126d6ef3 chore: update version to 2.1.2 in package.json and package-lock.json 2025-11-23 23:03:02 +01:00
Knee Cola
134f04d634 fix: format IBAN in payment info on ViewLocationCard 2025-11-23 23:02:46 +01:00
Knee Cola
9f94f0996a Merge branch 'hotfix/2.1.1' 2025-11-23 23:00:38 +01:00
Knee Cola
e9ec26091e Merge branch 'hotfix/2.1.1' into develop 2025-11-23 23:00:38 +01:00
Knee Cola
3cbd60767e chore: update version to 2.1.1 in package.json and package-lock.json 2025-11-23 23:00:32 +01:00
Knee Cola
a593d2a373 (chore) Dockerfile: remove USE_MOCK_AUTH environment variable 2025-11-23 23:00:07 +01:00
Knee Cola
cfe5158112 Merge branch 'release/2.1.0' 2025-11-23 22:51:59 +01:00
Knee Cola
cce03028de Merge branch 'release/2.1.0' into develop 2025-11-23 22:51:59 +01:00
Knee Cola
f8ae0c780e 2.1.0 2025-11-23 22:51:45 +01:00
Knee Cola
4c1c8e3346 Merge branch 'feature/fixing-bugs' into develop 2025-11-23 22:51:06 +01:00
Knee Cola
db65d82ab5 (refactor) BillEditForm: billed-to-* converted from radio buttons to select; added info box 2025-11-23 22:49:05 +01:00