* User: Add name and image URL
More personalization options, prerequisite for btcpayserver/app#3.
Additionally:
- Remove ambigious and read-only username from manage view.
- Improve email verification conditions and display.
- Greenfield: Update current user. Prerequisite for btcpayserver/app#13.
* Refactor UpdateCurrentUser
* Replace new columns by UserBlob
* Update email check and add test case for mailbox addresses
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* UI: Move section navigation to sidebar
* Scroll active nav link into view
* Move CTAs to top right
* Server Settings: Make Policies first page
* Responsive table fixes
* Spacing fixes
* Add breadcrumb samples
* store settings fixes
* payment request fixes
* updates pull payment title
* adds invoice detail fix
* updates server settings breadcrumbs + copy fix
* Don't open Server Settings on Plugins page
* Add breadcrumbs to pull payment views
* adds breadcrumbs to account
* server and store breadcrumb fixes
* fixes access tokens
* Fix payment processor breadcrumbs
* fixes webhook 404
* Final touches
* Fix test
* Add breadcrumb for email rules page
* Design system updates
---------
Co-authored-by: dstrukt <gfxdsign@gmail.com>
* Design system updates
* Icon fix
* Add new icons, replace show/hide
* Icon replacements
* Test fix
* Icon replacements in Vault
* More icon replacements
* Final icon replacements, remove Font Awesome
* Remove deprecated CSS options
Closes#5945.
* Greenfield: Add brandColor to store APIs
Closes#5946.
* Migrate file IDs to URLs
Closes#5953.
* Greenfield: Add CSS and logo URL to store settings API
Closes#5945.
* Add migration test
* Store and Server branding can reference file's via fileid:ID
* Add PaymentSoundUrl to Store API
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Support pluginable rate providers
This PR allows plugins to provide custom rate providers, that can be contextual to a store. For example, if you use the upcoming fiat offramp plugin, or the Blink plugin, you'll probably want to configure the fetch the rates from them since they are determining the actual fiat rrate to you. However, they require API keys. This PR enables these scenarios, even much more advanced ones, but for example:
* Install fiat offramp plugin
* Configure it
* You can now use the fiat offramp rate provider (no additional config steps beyond selecting the rate source from the select, or maybe the plugin would automatically set it for you once configured)
* Apply suggestions from code review
* Simplify
* Do not use BackgroundFetcherRateProvider for contextual rate prov
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Show Lightning node availability in navigation
Instead of simply communicating the setup state of the store's LN node, this now also checks its availability.
Closes #5940.
* Cleanups
* Add Selenium test for public node page and status in nav
* Cache the available lightning node result
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Admin overview of the stores on the instance
POC/Draft for #5674.
* Enable admin to access foreign stores
* Remove stores list link
* UI updates
* Grant admins guest access to foreign stores
* Optimize cookie auth handler
* Test fix
* Revert changes related to StoreRepository.FindStore with isAdmin
* Server Settings: Customize instance name and add contact URL
- The custom instance name would improve #5563
- Added contact URL closes#4806
* Fix custom logo display
This ensures that guests land on the invoices list, which tehy are allowed to see — rather than the dashboard, which they don't have permissions for.
Fixes#5688.
* Support the new LN lib
* fix test
* do not cache factories
* try without useless userinfo in lnd
* Remove monero wallet files
* support simpler DI too
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Theme Switch: Refactor and add system option
Before, we had no way to reset the theme option to the system default. This introduces that option and refactors the theme switch to work in a simpler manner.
* Prevent account menu close on click inside
Context: #5476
* Invoice: Unify status display and functionality
Consolidates the invoice status display and functionality (mark setted or invalid) across the dashboard, list and details pages.
* Test fix
---------
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Adjust the prior number of transactions metric as discussed with @pavlenex. We now show the number of paid invoices instead of transactions, as this metric is more meaningful.
Closes#5300.
* Add reporting feature
* Remove nodatime
* Add summaries
* work...
* Add chart title
* Fix error
* Allow to set hour in the field
* UI updates
* Fix fake data
* ViewDefinitions can be dynamic
* Add items sold
* Sticky table headers
* Update JS and remove jQuery usages
* JS click fix
* Handle tag all invoices for app
* fix dup row in items report
* Can cancel invoice request
* Add tests
* Fake data for items sold
* Rename Items to Products, improve navigation F5
* Use bordered table for summaries
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Feedback we got at BTCPrague: Do not show more than five items in the top list, because otherwise the list can get very long if there's a POS with many items.
* Ajaxify the wallet transaction list to avoid timeout (Fix#4987)
* Add cancellation to request to wallet transactions
* Fix tests
* Improve empty state
* Cleanups
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>