* Rough sketch of implementation
* Consolidate auto submit controller
* Store ransack params in session
* Improve how summary is calculated for txns
* Implement filters UI
* Support all currencies, handle outside DB
* Remove currencies from seed
* Fix account balance namespace
* Set default currency on authentication
* Cache currency instances
* Implement multi-currency syncs with tests
* Series fallback, passing tests
* Fix conflicts
* Make value group concrete class that works with currency values
* Fix migration conflict
* Update tests to expect multi-currency results
* Update account list to use group method
* Namespace updates
* Fetch unknown exchange rates from API
* Fix date range bug
* Ensure demo data works without external API
* Enforce cascades only at DB level
* Clean up time series models
* Add value group rollup class for summarizing hierarchical data
* Integrate new classes
* Update UI to use new patterns
* Update D3 charts to expect new data format
* Clean up account model
* More cleanup
* Money improvements
* Use new money fields
* Remove invalid fixture data to avoid orphaned accountables
* Update time series to work better with collections
* Fix tests and UI bugs
* Handle Turbo updates with tabs
Fixes #491
* Add Filterable concern for controllers
* Add trendline chart
* Extract common UI to partials
* Series refactor
* Put placeholders for calculations in
* Add classification generated column to account
* Add basic net worth calculation
* Add net worth tests
* Get net worth graph working
* Fix lint errors
* Implement asset grouping query
* Make trends and series more intuitive
* Fully functional dashboard
* Remove logging
* Rename account balance field for clarity
`original_balance` and `original_currency` may infer that these values are "original" to the account. In reality, they represent the "current" balance and currency on the account.
* Prepare fixture data for account sync testing
* Update to new field
* Fix conflicts
* Remove local schema change
* Update hard-coded currency UI with currency specific params
* Rename extension methods to match currency option names; Move cents extension to numeric class extension
* Use currency's precision to show the cents part in accounts show page
---------
Co-authored-by: Sriram Krishnan <sriram@seafoodsouq.com>
* Transaction scaffold
* Rough in transaction views
* Fix sort order
* Fix mass assignment issue
* Fix test
* Simplify CI workflow
* Don't seed db before test
* Refresh account on update
* 🐛 Replace turbo frame on create valuation
This avoids the frame reloading it's src when refreshing.
* Change Action Cable adapater to Postgres
* Add trends, time series, seed data
* Remove test data
* Replace old view values with helpers
* Fix tooltip bugs in D3 chart
* Fix tests
* Fix smoke test
* Add CRUD actions for valuations
* Scaffold out inline editing with Turbo
* Add notification UI
* Make animation an aribtrary value
It didn't make much sense in the theme as it feels very specific, this
change also means the timing information is clearer within the html
itself.
* Update to use tailwind theme
* Refactor structure of icon
* Add support for multiple notifications at once
* Adjust notification animation timing
* Make notification more accessible
Applies role to the notification which will apply the appropriate
aria-live status to ensure notifications are read out when they are
rendered into the screen for screenreader users.
Wraps the svg with a button tag that keyboard users can focus and engage
with to close the notification.
* Fix notification progress indicator placement
* Map flash types to notification types automatically
* Refine notification animations
* Set success as default icon for notifications
* Initial foundational pass at multi-currency
* Default format currency
* More work on currency and exchanging
* Re-build currencies on change
* Currency import/setup
* Background job overhaul + cheaper OXR plan support
* Lint fixes
* Test fixes
* Multi-currency setup instructions
* Allow decimals in the balance field
* Spacing fix for form
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
* Patch virtual_path within modal helper
Added an example translation within the modal to test.
* Fix modal translation scope
By changing this to a partial that accepts the content via a local var
instead of a layout the virtual path, and therefore translation scope is
not changed.
* Add Lucide gem (#364)
* feat: add cursor pointer in the log-in and create account pages, also make full with (it's cutted right now) the fileds in the settings edit page
* feat: skip system test with an explanation instead of comment them
* fix typo in the skip
* feat: add lucide gem
* Add reusable modal (#362)
* Remove unused form
* Add reusable modal
* Prelim styling
* Add instructions
---------
Co-authored-by: Josh Pigford <josh@joshpigford.com>
* Add keyboard navigation to new account selector (#375)
* New account menu (#372)
* New account menu
* Styling tweaks
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
* Entry method links (#376)
* Initial add account form (#378)
* Initial add account form
* Unused
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
Co-authored-by: Pedro López Mareque <Pedro.lopez.mareque@gmail.com>
Co-authored-by: Rob Zolkos <rob@zolkos.com>
Co-authored-by: Josh Brown <josh@joossh.com>
Back in this [commit](5f50ea3f02 (diff-5a674c769541a71f2471a45c0e9dde911b4455344e3131bddc5a363701ba6325R22-R23)) I added a default postgres user and password.
Often this is not the user and password that is used in non-devcontainer environments.
This commit uses environment variables that are set in the devcontainer to set the user and password in the database.yml file.
If the environment variables are not set, it falls back to the default user and password on the users system.