* 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
* Onboarding: Invite new users
- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`
- Fixes#5726.
* Add permissioned form tag helper
* Better way of changing a user's role
* Test fixes
* PoS app to show POS view for easy setup
* update selenium test
* Updates
* Add QR code icon
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
As discussed on #5718, there is no need for the store logo to be provided in square dimension. As it populates its own row on the public page layouts, we can remove that restriction and make it adaptable by providing only maximum height and width.
* Users list: Cleanups
* Policies: Flip registration settings
* Policies: Add RequireUserApproval setting
* Add approval to user
* Require approval on login and for API key
* API handling
* AccountController cleanups
* Test fix
* Apply suggestions from code review
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
* Add missing imports
* Communicate login requirements to user on account creation
* Add login requirements to basic auth handler
* Cleanups and test fix
* Encapsulate approval logic in user service and log approval changes
* Send follow up "Account approved" email
Closes#5656.
* Add notification for admins
* Fix creating a user via the admin view
* Update list: Unify flags into status column, add approve action
* Adjust "Resend email" wording
* Incorporate feedback from code review
* Remove duplicate test server policy reset
---------
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Based on #5413 and needs it to get merged first.
- Uses `--wrap-max-width` on `.public-page-wrap` rather than inner `.container` classes
- Applies `.tile` class to boxes and makes them connect to the edge of the screen below `400px` width.
* Payment Request: Improve public view
Closes#4450.
* Test fix
* Extract Vue utils
* Improve payment history
* Fix amount display
* Unify receipt and payment request tables
* Re-add text confirmation for copying to clipboard
* Minor print optimizations
* Wording: Rename Description to Memo
* Open view links in new window
* View updates
* 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>
* Wallet transactions: Add label manager
* Update BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Add rich label info
* Fixes
* support labels in wallet send
* add labels to tx info page
* Remove noscript parts
* Allow click on transaction label info
* update psbt info labelstyling
* revert red pixel fix as it broke all
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Label Manager component
closes#4464
* UI updates
* Test fix
* add test
* fix warnings
* fix select update bug
* add test
* fix test
* Increase payment box max-width
* add labels from address to tx on detection
* Exclude well known label from the dropdown
* Add test on transaction label attachement, tighten UpdateLabels method to only update address labels
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* UI updates
* Updates modes and calculation
* Unify tip buttons
* White caret
* Add top margin to calculation
* Add space between mode buttons and keypad
* Discount updates
* Indent all JSON files with two spaces
* Upgrade Vue.js
* Cheat mode improvements
* Show payment details in case of expired invoice
* Add logo size recommendation
* Show clipboard copy hint cursor
* Improve info area and wording
* Update BIP21 wording
* Invoice details adjustments
* Remove form; switch payment methods via AJAX
* UI updates
* Decrease paddings to gain space
* Tighten up padding between logo mark and the store title text
* Add drop-shadow to the containers
* Wording
* Cheating improvements
* Improve footer spacing
* Cheating improvements
* Display addresses
* More improvements
* Expire invoices
* Customize invoice expiry
* Footer improvements
* Remove theme switch
* Remove non-existing sourcemap references
* Move inline JS to checkout.js file
* Plugin compatibility
See Kukks/btcpayserver#8
* Test fix
* Upgrade vue-i18next
* Extract translations into a separate file
* Round QR code borders
* Remove "Pay with Bitcoin" title in BIP21 case
* Add copy hint to payment details
* Cheating: Reduce margins
* Adjust dt color
* Hide addresses for first iteration
* Improve View Details button
* Make info section collapsible
* Revert original en locale file
* Checkout v2 tests
* Result view link fixes
* Fix BIP21 + lazy payment methods case
* More result page link improvements
* minor visual improvements
* Update clipboard code
Remove fallback for old browsers. https://caniuse.com/?search=navigator.clipboard
* Transition copy symbol
* Update info text color
* Invert dark neutral colors
Simplifies the dark theme quite a bit.
* copy adjustments
* updates QR border-radius
* Add option to remove logo
* More checkout v2 test cases
* JS improvements
* Remove leftovers
* Update test
* Fix links
* Update tests
* Update plugins integration
* Remove obsolete url code
* Minor view update
* Update JS to not use arrow functions
* Remove FormId from Checkout Appearance settings
* Add English-only hint and feedback link
* Checkout Appearance: Make options clearer, remove Custom CSS for v2
* Clipboard copy full URL instead of just address/BOLT11
* Upgrade JS libs, add content checks
* Add test for BIP21 setting with zero amount invoice
Co-authored-by: dstrukt <gfxdsign@gmail.com>
Some quick win updates to the payment requests list that unify the display with the invoices list:
- Status is displayed as badge
- Amount is properly formatted
- Expiry date format and ability to switch to relative date
* Opt-in for new checkout
* Update wording
* Create invoice view update
* Remove jQuery from checkout testing code
* Checkout v2 basics
* WIP
* WIP 2
* Updates and fixes
* Updates
* Design updates
* More design updates
* Cheating and JS fixes
* Use checkout form id whenever invoices get created
* Improve email form handling
* Cleanups
* Payment method exclusion cases for Lightning and LNURL
TODO: Cases and implementation need to be discussed
* Introduce CheckoutType in API and replace UseNewCheckout in backend
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
Fixes styling issues introduced in #4074, because the `max-width` was to small for localized dates.
Also adds the ability to choose the prefered initial display format, which can be the localized or relative date.
* Update WalletTransactions pagination default settings
Remove the numeric page selection and add displaying data of last 30 days by default.
* Update WalletTransactions to show txs based on Days
* Update text formatting on WalletTransactions view
Keeps the logic changes. Just undo the formatting of the file from previous commit
* Update WalletTransactions to show all after second load
Utilize Model.Days instead of new variables
Moved javascript code to PageFootContent section
* Update WalletTransactions to use ajax for infinite scroll
* Cleanups
* Apply skip and count only when not prefiltering
* Infinite scroll mode
* Improve datetime formatting and switching
* Upgrade NBXplorer to include get_wallets_recent bugfix
* Revert "Upgrade NBXplorer to include get_wallets_recent bugfix"
This reverts commit b390d942d74d88bb1da3ab8e3407184a527175ef.
* JS fixes
* Upgrade ChromeDriver and BundleMinifier
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Added custodian account trade support
* UI updates
* Improved UI spacing and field sizes + Fixed input validation
* Reset error message when opening trade modal
* Better error handing + test + surface error in trade modal in UI
* Add delete confirmation modal
* Fixed duplicate ID in site nav
* Replace jQuery.ajax with fetch for onTradeSubmit
* Added support for minimumTradeQty to trading pairs
* Fixed LocalBTCPayServerClient after previous refactoring
* Handling dust amounts + minor API change
* Replaced jQuery with Fetch API + UX improvements + more TODOs
* Moved namespace because Rider was unhappy
* Major UI improvements when swapping or changing assets, fixed bugs in min trade qty, fixed initial qty after an asset change etc
* Commented out code for easier debugging
* Fixed missing default values
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>