215 Commits

Author SHA1 Message Date
Sebastien Castiel
d3b151e150 Upgrade dependencies (#479)
All checks were successful
CI / checks (push) Successful in 1m7s
Migrate to latest versions of Next.js, React, Radix, etc.
2025-12-06 12:50:01 -05:00
Peter Smit
3b83a5f442 prettier
All checks were successful
CI / checks (push) Successful in 58s
2025-11-08 13:48:37 +01:00
Peter Smit
6b34b187f1 Limit height on dropdown menu to 80vh 2025-11-08 13:43:35 +01:00
Peter Smit
547adafcda Add (and reorder) languages added from Weblate 2025-11-08 13:30:39 +01:00
Peter Smit
fc0feee736 Use decimal.js to validate uneven amounts
All checks were successful
CI / checks (push) Successful in 56s
2025-11-08 11:11:43 +01:00
Derek
157ed4fd96 bugfix: Fix share values being incorrectly divided by 100 in expense form (#453)
* Update expense-form.tsx to handle shares as strings

Proposing fix to #424

The issue is in the data flow between the form and the schema transform function:

When editing existing expenses: Form loads shares by dividing database values by 100 (e.g., 200 / 100 = 2), but loads them as numbers
When users change values: Input fields return strings via enforceCurrencyPattern
Schema transform: Only multiplies by 100 for string values, not number values
Result: Modified shares (strings) get multiplied by 100, unmodified shares (numbers) stay as-is

Proposed fix: handle all shares consistently as strings throughout the form

* Add type assertions to fix TypeScript errors in expense form

Fix formatting.

---------

Co-authored-by: yllar <yllar.pajus@gmail.com>
2025-11-08 09:34:57 +01:00
Peter Smit
0f4c96fc46 Move padding from body to prevent jumping when toggling Selects
All checks were successful
CI / checks (push) Successful in 1m1s
2025-11-07 09:53:05 +01:00
Derek
b2f9498142 Prevent date offset for expenses in local timezones (#433) 2025-11-03 19:46:24 +01:00
Peter Smit
a9f008683f Remove as unknown as
All checks were successful
CI / checks (push) Successful in 55s
(cherry picked from commit 4e7733286a)
2025-09-13 17:20:55 +02:00
Peter Smit
52a2b552cb Merge branch 'currency-conversion' of github.com:whimcomp/spliit into whimcomp-currency-conversion
# Conflicts:
#	src/app/groups/[groupId]/expenses/expense-form.tsx
2025-09-13 17:20:39 +02:00
Peter Smit
0e77a666f4 Fix prettier issues
All checks were successful
CI / checks (push) Successful in 55s
2025-09-13 11:44:07 +02:00
Peter Smit
c49d0ea220 Always round minor units to an integer 2025-09-13 11:41:33 +02:00
Peter Smit
05a793ee39 Remove unneeded as unknown ases 2025-09-13 11:32:39 +02:00
Peter Smit
5fee0440c2 Add main currency code for groups feedback (#329)
Clarify group currency field description

Use default currency code instead of symbol

Hide currency symbol field when using a non-custom Currency

Run prettier

Update currency data

Update package-lock.json
2025-09-05 13:11:56 +02:00
Peter Smit
da8473406e Merge branch 'group-currency-code' of github.com:whimcomp/spliit into whimcomp-group-currency-code 2025-09-05 10:46:04 +02:00
Peter Smit
39d55d908a Fix prettier issues
All checks were successful
CI / checks (push) Successful in 54s
2025-09-05 09:56:50 +02:00
Julen Dixneuf
409784672c Add health check endpoint and resolve locale detection bug (#387)
* Add health check API endpoint with database connectivity

* Update locale handling to fallback to default language on invalid input

* Add health check endpoints for application readiness and liveness

- Introduced `/api/health/readiness` endpoint to check if the application can serve requests, including database connectivity.
- Introduced `/api/health/liveness` endpoint to verify if the application is running independently of external dependencies.
- Updated the health check logic to streamline database connectivity checks and response handling.

* Refactor health check logic

---------

Co-authored-by: Julen Dixneuf <julen.d@padoa-group.com>
2025-09-05 09:53:12 +02:00
Peter Smit
86a20d6b23 Use "everyone" in the expense card if it was paid for all participants (#398) 2025-09-04 20:15:00 +02:00
Peter Smit
a21f0646b5 Merge branch 'ita-localization' of github.com:scollovati/spliit into scollovati-ita-localization
# Conflicts:
#	messages/de-DE.json
#	messages/fr-FR.json
#	messages/it-IT.json
#	messages/nl-NL.json
#	messages/pl-PL.json
2025-09-04 20:09:45 +02:00
Peter Smit
6ea6cfac3e Use deepmerge function from existing dependency 2025-09-04 19:11:26 +02:00
Peter Smit
e3f70d0635 Merge branch 'bug-missing-translation' of github.com:Uli-Z/spliit-room into Uli-Z-bug-missing-translation 2025-09-04 18:54:16 +02:00
Peter Smit
ed321f9880 Merge branch 'GuillemUJ-main'
# Conflicts:
#	src/i18n.ts
2025-09-04 17:15:19 +02:00
Peter Smit
070f6623b7 Add catalan to the list of locales 2025-09-04 17:13:45 +02:00
starforman
c556c18dc5 Add Czech translation (#358) 2025-09-04 16:59:46 +02:00
susui
65c9e01ad3 Add Japanese translation (#341) 2025-09-04 16:58:17 +02:00
Peter Smit
5fd3204990 Fix formatting of #382 2025-09-04 16:43:12 +02:00
Bernhard Bliem
436aff00d2 Fix missing translation string in de-DE (#382)
* Fix missing translation string in de-DE

* Make placeholder for "paid by" field translatable
2025-09-04 16:32:06 +02:00
scollovati
a8ea05eae8 [localization] add new message notInvolved in ExpenseCard 2025-07-23 15:22:23 +02:00
Uli-Z
81c42e5b8b Add English fallback for i18n messages
Introduced a mergeDeep helper to merge locale-specific messages with the English defaults. src/i18n.ts now loads both the en-US messages and the selected locale’s messages, merges them, and supplies the result so missing translations appear in English instead of as placeholders.
2025-06-24 11:55:30 +02:00
Steven Sengchanh
d641540b65 Add currency and exchange rate with Frankfurter per expense 2025-04-21 01:31:14 +02:00
Steven Sengchanh
2814811aea Script to recreate currencies data 2025-04-21 00:49:43 +02:00
Steven Sengchanh
af4bfe3780 Add non-custom currencies per group 2025-04-21 00:49:43 +02:00
Sebastien Castiel
a11efc79c1 Fix Prettier issues
All checks were successful
CI / checks (push) Successful in 1m34s
2025-04-20 11:10:30 -04:00
Sebastien Castiel
e63f3aa68f Fix TypeScript issues
Some checks failed
CI / checks (push) Failing after 1m35s
2025-04-19 15:46:37 -04:00
trandall
94c101cf7b Add recurring expense functionality (#263)
* code complete

* Smaller updates

* delete ambitious TODOs (add to PR)

* add transactionality to recurring expense creation

* Remove unnecessary `let`s

* Add default english labels to non-en-US translations

* Accept `es.json` translations

* add condition to ensure links are only modified when applicable
2025-04-19 15:23:23 -04:00
Yuvaraj Sai
2bced00f82 PWA: add multiple custom size transparent PNGs (#271)
* add id property to manifest for identity of PWA

* add multiple sizes high quality pngs with transparent background to support multiple sizes

* delete unused png
2025-04-19 15:19:00 -04:00
Daniel Thiem
728e072376 Add computed shares per expense to fix #127 (#269)
* Added computed expenses per balance to fix #127

* add missing import that got lost during merge

* if we are in percentage mode or amount mode, the shares have to be multiplied by 100
2025-04-19 15:16:37 -04:00
Peter Smit
a65c3c9dfe Add Dutch translation (#324)
* Add nl-NL locale

* Fix issue raised in pull request #319

* Update

---------

Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
2025-04-19 15:06:36 -04:00
Thorsten Herfurtner
03712f1503 Fix typo in translation files (#318)
* fix: typo in "lastYear" across multiple language files

* fix: typo in chatGPT prompt
2025-04-19 15:01:07 -04:00
Lorenz Leutgeb
ffbcb6b74d Add expense category 'Life/Donation' (#315)
* Add expense category 'Life/Donation'

* Fix category name in migration

---------

Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
2025-04-19 15:00:03 -04:00
Sebastien Castiel
75747157f0 Add Brazilian Portuguese locale in menu 2025-04-19 14:27:14 -04:00
Allen
2fda3e453c Ensure the exported data is sorted by the expense date (Fixes #305) (#306) 2025-04-19 14:22:16 -04:00
Sebastien Castiel
92909ce27f Add Turkish locale label 2025-04-19 14:18:53 -04:00
Yuvaraj Sai
6c5c9d5bed Feat: Add export to CSV support (#292)
* install json2csv package

* add necessary labels

* add support convert the JSON to redable CSV format and export

* add a popover to export btton and provide options for exporting to JSON and CSV

* Use a DropdownMenu

* Translations

---------

Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
2025-04-19 14:11:38 -04:00
Yuvaraj Sai
f9307fd22d Fix the amount validation while creating an expense (#291) 2025-04-19 13:55:24 -04:00
Sebastien Castiel
9302a32f4c Fix destructive color in dark mode (Fixes #268) 2024-12-07 12:14:08 -05:00
Sebastien Castiel
98e2345bb9 Fix group export when name contains non-ASCII characters 2024-12-07 12:03:32 -05:00
Sébastien Beaury
5732f78e80 Fix UTC timezone used in activity tracker (#265) 2024-12-07 11:55:02 -05:00
Yuvaraj Sai
72ad0a4c90 feat(expense-list): Display the attachment count only when the expense includes attachments (#267)
* feat(expense-list): Display the attachment count only when the expense includes attachments

* handle attachments - singular & plural

* move documents count between amount and date

* Remove label

* Use document count only instead of whole document list

---------

Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
2024-12-07 11:53:14 -05:00
Sebastien Castiel
2c973f976f Put locale labels outside of translations 2024-12-07 11:37:39 -05:00