Commit Graph

60 Commits

Author SHA1 Message Date
Artem Sushchev
3223d5026b feat: display both net total and turnover in transactions footer (#53)
- Add calcNetTotalPerCurrency function to calculate signed totals (income positive, expenses negative)
- Update transaction list footer to display both net total and turnover
- Use semantic HTML markup (<dl>, <dt>, <dd>) for better accessibility
- Add color coding: green for positive net, red for negative net
- Maintain turnover calculation for total transaction volume

Fixes issue where transaction totals did not respect transaction type (income/expense)
2025-10-22 09:28:19 +02:00
Artem Sushchev
24a2cfc729 feat: Accessibility Fixes for Custom Field Forms (#48)
* fix: add IDs and ARIA labels to custom field forms

- Add id propagation to FormInput/FormTextarea based on name prop for proper label association
- Enhance FormSelect with hidden input for form submission, aria-labelledby for labeling, and controlled/uncontrolled state management
- Add aria-label attributes to inline inputs/selects/checkboxes in CrudTable settings editor

These changes improve accessibility for screen readers and ensure custom field forms are fully navigable via keyboard. Also critical for AI browsers like Comet that rely on semantic HTML/ARIA for form parsing and automation.

* fix: add aria-labels to CRUD table action buttons

- Add aria-label to edit buttons: 'Edit [item name]'
- Add aria-label to delete buttons: 'Delete [item name]'
- Add aria-label to save/cancel buttons in edit/add modes
- Add aria-label to 'Add New' button

Fixes unlabeled icon buttons that were inaccessible to screen readers and AI browsers.
2025-09-25 12:13:10 +02:00
Dmitrii Anfimov
e4e7076f9e feat: visual color picker (#43)
* feat: visual color picker

* feat: use pallete for random colors

* fix: style issues like indentation in code and different color format
2025-08-13 10:22:19 +02:00
Vasily Zubarev
7aa9d25275 fix: use short month names 2025-08-02 22:00:59 +02:00
Vasily Zubarev
280adabc71 fix #37: monthly expense charts
:
2025-08-02 21:28:47 +02:00
Vasily Zubarev
9305deda86 feat: add more colors to cards 2025-07-23 11:07:51 +02:00
Dmitrii Anfimov
dee915ffd6 feat: more llm provider options (google, mistral) (#28)
* feat: add google provider

* fix: default for google model

* feat: multiple providers

* fix: defaults from env for login form

* fix: add mistral to env files

* chore: delete unused code

* chore: revert database url to original

* fix: render default value for api key from env on server

* fix: type errors during compilation

---------

Co-authored-by: Vasily Zubarev <me@vas3k.ru>
2025-07-22 21:49:54 +02:00
Vasily Zubarev
8f7c4a4d61 fix #30: individual items are not saved
"
2025-07-14 08:59:50 +02:00
vas3k
b32421f114 fix: styles and texts 2025-05-23 21:29:51 +02:00
vas3k
ca7d206b07 fix: errors on saving transactions 2025-05-23 14:59:12 +02:00
vas3k
25c61f0519 feat: split into multiple items 2025-05-23 14:33:40 +02:00
vas3k
289b436236 fix #23: allow empty convertedTotal 2025-05-22 19:42:41 +02:00
vas3k
347cf2a0e8 feat: analyze all button, support for UTF8 filenames 2025-05-22 19:22:30 +02:00
vas3k
3976db1114 fix: better webhook error handling 2025-05-22 17:04:19 +02:00
vas3k
16b9eb4ce1 fix: filters for tx list 2025-05-21 12:57:01 +02:00
vas3k
f5c5bf75f6 feat: cache ai results on server + show success banner 2025-05-20 22:32:38 +02:00
vas3k
c352f5eadd fix: restore from backup, restart button for tools, loader for fields 2025-05-20 20:37:26 +02:00
Vasily Zubarev
90a2411960 feat: add progress indication for long downloads 2025-05-19 16:29:04 +02:00
Vasily Zubarev
d2ef3a088a fix: export tx more logs 2025-05-19 14:38:46 +02:00
Vasily Zubarev
b7475ca57d fix: better transactions export UX 2025-05-19 11:01:50 +02:00
Vasily Zubarev
ee368180f6 fix: wording 2025-05-12 20:25:33 +02:00
Vasily Zubarev
f42fdcf74e feat: isRequired for fields now respected 2025-05-09 16:43:03 +02:00
Vasily Zubarev
8b5a2e8056 feat: invoice generator 2025-05-07 14:53:13 +02:00
Vasily Zubarev
9c0ba62589 ci: test 2025-05-03 10:27:03 +02:00
Vasily Zubarev
26991a1520 ci: use local prisma client 2025-05-03 10:23:13 +02:00
Vasily Zubarev
b4045930e2 feat: activate saas 2025-04-24 19:46:56 +02:00
Vasily Zubarev
fd142762af chore: add support email 2025-04-24 17:02:14 +02:00
Vasily Zubarev
abd5ad8403 feat: stripe integration 2025-04-24 15:27:44 +02:00
Vasily Zubarev
9809e05453 fix: fetch session profile from DB 2025-04-22 14:43:45 +02:00
Vasily Zubarev
73e83221b8 feat: storage and token limiting 2025-04-21 13:50:45 +02:00
Vasily Zubarev
62bad46e58 feat: calculate used storage 2025-04-10 15:14:54 +02:00
Vasily Zubarev
ea8a3295e9 fix #24: disable sorting by extra columns 2025-04-10 13:09:32 +02:00
Vasily Zubarev
d88d0a1174 chore: more linter errors 2025-04-10 11:58:28 +02:00
Vasily Zubarev
29a4ac4977 fix: currency converter and auth apis 2025-04-09 15:04:48 +02:00
Vasily Zubarev
d53044f3f6 feat: better exchange rate tool ux 2025-04-09 13:48:23 +02:00
Vasily Zubarev
6ebc85c9df fix #14: drag n drop must react only on files 2025-04-09 13:01:21 +02:00
Vasily Zubarev
416c45d08c chore: organize ts types, fix eslint errors 2025-04-09 12:45:56 +02:00
Vasily Zubarev
707a030a0a fix: respect field.name for standard fields 2025-04-08 22:55:22 +02:00
Vasily Zubarev
a9843b0446 fix #15: again :) 2025-04-08 22:20:22 +02:00
Vasily Zubarev
2997c00d6d fix: extra fields renderin in transactions table 2025-04-08 22:10:48 +02:00
Vasily Zubarev
f32662e256 fix: extra field rendering 2025-04-08 22:08:16 +02:00
Vasily Zubarev
c95392ec77 fix #15: make all custom fields text 2025-04-07 10:51:35 +02:00
Vasily Zubarev
48cb9c50cb feat: safer backups 2025-04-04 14:52:48 +02:00
Vasily Zubarev
1bb6447141 feat: move currency converter to server 2025-04-04 13:49:51 +02:00
Vasily Zubarev
f1a26e511e feat: config.js 2025-04-03 14:36:16 +02:00
Vasily Zubarev
f523b1f8ba BREAKING: postgres + saas 2025-04-03 13:07:54 +02:00
Vasily Zubarev
61da617f68 feat: pagination + hide fields in settings 2025-03-27 08:48:47 +01:00
Vasily Zubarev
a80684c3fb feat: improve loaders and styles 2025-03-24 19:52:09 +01:00
Vasily Zubarev
4adf4de4bc feat: select columns to show 2025-03-23 12:49:09 +01:00
Vasily Zubarev
9ca7d9c712 fix: rename data -> models 2025-03-22 10:39:47 +01:00