@mymonero/mymonero-page-templates
Version:
This npm package contains a number of Lit element templates that MyMonero uses for various page layouts.
132 lines (101 loc) • 9.75 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChangenowFixedRateView = void 0;
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _lit = require("lit");
var _ExchangeNavigationController = _interopRequireDefault(require("../Controllers/ExchangeNavigationController"));
var _templateObject, _templateObject2;
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
// Legacy imports for fixed rate exchange
var Utils = require("../Utils/ExchangeUtilityFunctions");
var ExchangeUtils = require("../Utils/ExchangeUtilityFunctions"); // const ValidationLibrary = require('wallet-address-validator')
//const View = require('../../Views/View.web')
// const commonComponents_navigationBarButtons = require('../../MMAppUICommonComponents/navigationBarButtons.web')
// const commonComponents_activityIndicators = require('../../MMAppUICommonComponents/activityIndicators.web')
var JSBigInt = require('/mymonero-bigint').BigInteger; // important: grab defined export
var monero_amount_format_utils = require('/mymonero-money-format');
var ExchangeHelper = require("@mymonero/mymonero-exchange-helper");
var exchangeHelper = new ExchangeHelper(); // NB: because of legacy reasons, we don't want this to render inside a shadow dom. We override createRenderRoot to address this
var ChangenowFixedRateView = /*#__PURE__*/function (_ExchangeNavigationCo) {
(0, _inherits2["default"])(ChangenowFixedRateView, _ExchangeNavigationCo);
var _super = _createSuper(ChangenowFixedRateView);
function ChangenowFixedRateView() {
var _this;
(0, _classCallCheck2["default"])(this, ChangenowFixedRateView);
_this = _super.call(this);
_this.clickHandler = _this.clickHandler;
return _this;
}
(0, _createClass2["default"])(ChangenowFixedRateView, [{
key: "createRenderRoot",
value: function createRenderRoot() {
return this;
}
}, {
key: "connectedCallback",
value: function connectedCallback() {
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ChangenowFixedRateView.prototype), "connectedCallback", this).call(this);
exchangeHelper.doInit(this.context);
}
}, {
key: "sendFunds",
value: function sendFunds() {
var in_amount = document.getElementById('in_amount_remaining').innerHTML;
var send_address = document.getElementById('receiving_subaddress').innerHTML;
var in_amount_str = '' + in_amount;
var selectedWallet = document.getElementById('selected-wallet');
var selectorOffset = selectedWallet.dataset.walletoffset;
var sweep_wallet = false; // TODO: Add sweeping functionality
try {
if (this.context.walletsListController.hasOwnProperty('orderSent')) {
console.log('Order already sent previously');
} else {
this.context.walletsListController.orderSent = false;
}
ExchangeUtils["default"].sendFunds(this.context.walletsListController.records[selectorOffset], in_amount, send_address, sweep_wallet, exchangeHelper.sendFundsValidationStatusCallback, exchangeHelper.handleSendFundsResponseCallback, this.context);
} catch (error) {
console.log(error);
}
}
}, {
key: "clickHandler",
value: function clickHandler(event) {
console.log(event);
}
}, {
key: "render",
value: function render() {
var exchangeFormTemplate = exchangeHelper.htmlFormTemplate();
var exchangeFormHtml = exchangeFormTemplate.content.firstElementChild.cloneNode(true);
return (0, _lit.html)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n <div id=\"exchange-landing-page\">\n <div id=\"explanatory-message\" style=\"color: #ffffff;\"> </div>\n ", "\n </div>\n </div>\n <div class=\"submit-button-wrapper\">\n <button id=\"order-button\" class=\"button submit-button\">Create Order</button>\n </div>\n <button id=\"exchange-xmr\" class=\"button\" @click=", ">Exchange</button>\n <style>\n #explanatory-message {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n color: #ffffff;\n margin: 20px;\n font-size: 13px;\n }\n .exchangeScreen {\n border: none !important;\n }\n .exchange-page-panel {\n margin: 42px 0px 42px 0px !important;\n }\n #order-button {\n display: none;\n }\n #order-button, #exchange-xmr {\n cursor: default;\n border-radius: 3px;\n height: 24px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n text-align: center;\n border: none;\n text-decoration: none;\n line-height: 24px;\n box-sizing: border-box;\n width: auto;\n padding: 0px 8px;\n background-color: rgb(0, 198, 255);\n box-shadow: rgb(22 20 22) 0px 0.5px 1px 0px, rgb(255 255 255 / 20%) 0px 0.5px 0px 0px inset;\n color: rgb(22, 20, 22);\n -webkit-font-smoothing: subpixel-antialiased;\n font-size: 12px;\n font-weight: bold;\n letter-spacing: 0.5px;\n float: right;\n margin-top: 5px;\n -webkit-app-region: no-drag;\n right: 16px;\n position: absolute;\n bottom: 10px;\n }\n #exchangePage {\n padding: 0px 0px 50px 0px;\n }\n #orderStatusPage {\n min-height: 390px;\n }\n /** TODO: Remove this style once we tweak the exchange module, since LocalMonero has its own provider card */\n #localmonero {\n display: none;\n }\n </style>\n "])), exchangeFormHtml, this.sendFunds);
}
}], [{
key: "styles",
get: function get() {
return (0, _lit.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([" \n .submit-button-wrapper {\n position: fixed;\n top: -45px;\n right: 16px;\n width: 15%;\n min-width: 41px;\n height: 41px;\n z-index: 12;\n }\n .submit-button {\n z-index: 13;\n position: fixed;\n right: 16px;\n font-weight: bold;\n top: -40px;\n z-index: 10000;\n }\n .submit-button, .confirmation-button {\n cursor: default;\n border-radius: 3px;\n height: 24px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n text-align: center;\n border: none;\n text-decoration: none;\n line-height: 24px;\n box-sizing: border-box;\n width: auto;\n padding: 0px 8px;\n background-color: rgb(0, 198, 255);\n box-shadow: rgb(22 20 22) 0px 0.5px 1px 0px, rgb(255 255 255 / 20%) 0px 0.5px 0px 0px inset;\n color: rgb(22, 20, 22);\n -webkit-font-smoothing: subpixel-antialiased;\n font-size: 12px;\n font-weight: bold;\n letter-spacing: 0.5px;\n float: right;\n margin-top: 5px;\n -webkit-app-region: no-drag;\n }\n "])));
}
}, {
key: "properties",
get: function get() {
return {
context: Object
};
}
}]);
return ChangenowFixedRateView;
}((0, _ExchangeNavigationController["default"])(_lit.LitElement));
exports.ChangenowFixedRateView = ChangenowFixedRateView;
try {
customElements.define('changenow-fixed-rate-view', ChangenowFixedRateView);
} catch (error) {// already defined
}