diff --git a/ui/js/page/settings/view.jsx b/ui/js/page/settings/view.jsx index 107dfe836..fbe5ebb94 100644 --- a/ui/js/page/settings/view.jsx +++ b/ui/js/page/settings/view.jsx @@ -55,6 +55,32 @@ class SettingsPage extends React.PureComponent { this.setDaemonSetting("download_directory", event.target.value); } + onKeyFeeChange(event) { + var oldSettings = this.props.daemonSettings.max_key_fee; + var newSettings = { + amount: oldSettings.amount, + currency: oldSettings.currency, + }; + newSettings.amount = Number(event.target.value); + + this.setDaemonSetting("max_key_fee", newSettings); + } + + onFeeCurrencyChange(event) { + var oldSettings = this.props.daemonSettings.max_key_fee; + var newSettings = { + amount: oldSettings.amount, + currency: oldSettings.currency, + }; + newSettings.currency = event.target.value; + + this.setDaemonSetting("max_key_fee", newSettings); + } + + onKeyFeeDisableChange(isDisabled) { + this.setDaemonSetting("disable_max_key_fee", isDisabled); + } + // onMaxUploadPrefChange(isLimited) { // if (!isLimited) { // this.setDaemonSetting("max_upload", 0.0); @@ -255,6 +281,68 @@ class SettingsPage extends React.PureComponent { /> +
+
+

{__("Max Purchase Price")}

+
+
+
+
{__("Max Purchase Price")}
+
+ { + this.onKeyFeeDisableChange(true); + }} + defaultChecked={daemonSettings.disable_max_key_fee} + label={__("No Limit")} + /> +
+ { + this.onKeyFeeDisableChange(false); + }} + defaultChecked={!daemonSettings.disable_max_key_fee} + label={ + daemonSettings.disable_max_key_fee + ? __("Choose limit") + : __("Limit to") + } + /> + {!daemonSettings.disable_max_key_fee + ? + : ""} + {!daemonSettings.disable_max_key_fee + ? + + + + : ""} +
+
+ {__( + "This will prevent you from purchasing any content over this cost, as a safety measure." + )} +
+
+
+

{__("Content")}