* PayButton: Fix CSP problems in Firefox
Firefox does not support [`unsafe-hashes`](https://caniuse.com/?search=unsafe-hashes), so I figured it might be best to get rid of the inline event handlers in general.
Closes#4325.
* Account for multiple paybuttons on one page
We need to set "cursor: pointer;" explicitly on pay buttons with custom text because the <button> HTML tag default pointer is not a cursor. This is not an issue for the default button because it uses the <input> tag which has "cursor: pointer;" by default in browsers.
Close#4104
* Move files
* Fix potentially missing default payment method
Before, it got removed if any other value was changed besides the default payment method.
* Fix missing store data
* Update BTCPayServer/Plugins/PayButton/PayButtonPlugin.cs
Co-authored-by: Pavlenex <pavle@pavle.org>
* Update pay button warning
Closes#3535.
Co-authored-by: Pavlenex <pavle@pavle.org>
This PR allows you to use the pay button generator to create buttons that target apps. This means that you can generate an invoice that is linked to an item on the POS/Crowdfund (targeting the item is optional). The POS/Crowdfund item amount -> invoice creation amount validation works too so that the user cannot modify the amount of a perk using just html ( fixes#1392 )
These changes should provide a more solid CSS approach to display the pay button in different scenarios. Also it fixes minor functionality issues like preselecting the merchant-chosen currency in the custom amount and slider dropdown.
* Start adding more options to Custom Amount Pay button
This allows you to simplify the custom amount pay button to remove the big + & - buttons along with set a min, max and step amounts. There's also an option to fit the button next to the input amount to have it more condensed(not finished)
* make fit button inline work nicely
* make currency dropdown more obvious
* fix space