vendor: 6,996 bytes, lines 1-2
1;(function () {// LICENSE_CODE ZON 2 'use strict'; /*jslint browser:true, es6:true, node:true, react:true*/function _extends() {return _extends = Object.assign ? Object.assign.bind() : function (n) {for (var e = 1; e < arguments.length; e++) {var t = arguments[e];for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);}return n;}, _extends.apply(null, arguments);}function ownKeys(e, r) {var t = Object.keys(e);if (Object.getOwnPropertySymbols) {var o = Object.getOwnPropertySymbols(e);r && (o = o.filter(function (r) {return Object.getOwnPropertyDescriptor(e, r).enumerable;})), t.push.apply(t, o);}return t;}function _objectSpread(e) {for (var r = 1; r < arguments.length; r++) {var t = null != arguments[r] ? arguments[r] : {};r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {_defineProperty(e, r, t[r]);}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));});}return e;}function _classCallCheck(a, n) {if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");}function _defineProperties(e, r) {for (var t = 0; t < r.length; t++) {var o = r[t];o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);}}function _createClass(e, r, t) {return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;}function _callSuper(t, o, e) {return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));}function _possibleConstructorReturn(t, e) {if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e) {if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct() {try {var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));} catch (t) {}return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {return !!t;})();}function _getPrototypeOf(t) {return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {return t.__proto__ || Object.getPrototypeOf(t);}, _getPrototypeOf(t);}function _inherits(t, e) {if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e);}function _setPrototypeOf(t, e) {return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {return t.__proto__ = e, t;}, _setPrototypeOf(t, e);}function _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == _typeof(i) ? i : i + "";}function _toPrimitive(t, r) {if ("object" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != _typeof(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _regenerator() {/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r = "function" == typeof Symbol ? Symbol : {},n = r.iterator || "@@iterator",o = r.toStringTag || "@@toStringTag";function i(r, n, o, i) {var c = n && n.prototype instanceof Generator ? n : Generator,u = Object.create(c.prototype);return _regeneratorDefine2(u, "_invoke", function (r, n, o) {var i,c,u,f = 0,p = o || [],y = !1,G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) {return i = t, c = 0, u = e, G.n = r, a;} };function d(r, n) {for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {var o,i = p[t],d = G.p,l = i[2];r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));}if (o || r > 1) return a;throw y = !0, n;}return function (o, p, l) {if (f > 1) throw TypeError("Generator is already running");for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);try {if (f = 2, i) {if (c || (o = "next"), t = i[o]) {if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");if (!t.done) return t;u = t.value, c < 2 && (c = 0);} else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);i = e;} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;} catch (t) {i = e, c = 1, u = t;} finally {f = 1;}}return { value: t, done: y };};}(r, o, i), !0), u;}var a = {};function Generator() {}function GeneratorFunction() {}function GeneratorFunctionPrototype() {}t = Object.getPrototypeOf;
2var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () {return this;}), t),u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);function f(e) {return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;}return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () {return this;}), _regeneratorDefine2(u, "toString", function () {return "[object Generator]";}), (_regenerator = function _regenerator() {return { w: i, m: f };})();}function _regeneratorDefine2(e, r, n, t) {var i = Object.defineProperty;try {i({}, "", {});} catch (e) {i = 0;}_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) {function o(r, n) {_regeneratorDefine2(e, r, function (e) {return this._invoke(r, n, e);});}r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));}, _regeneratorDefine2(e, r, n, t);}function _typeof(o) {"@babel/helpers - typeof";return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;}, _typeof(o);} 3 var define; 4 var is_node = (typeof module === "undefined" ? "undefined" : _typeof(module)) == 'object' && module.exports; 5 if (is_node) 6 define = require('../../../util/require_node.js').define(module, '..');else 7 8 define = self.define; 9 define(['react', '/www/hola/pub/context.js', 10 '/www/hola/pub/util.js', '/www/hola/pub/config.js', '/util/util.js', 11 'hola_opt', '/util/string.js', 'classnames', '/www/hola/pub/be.js', 12 '/util/url.js', '/util/etask.js', '/util/version_util.js', 13 'svc_versions', '/util/escape.js', 'react-router-dom', 14 '/www/hola/pub/404.js', '/www/hola/pub/img/svg/icon/ic_slope.svg', 15 '/www/hola/pub/shared/svg', '/svc/vpn/pub/util.js', 16 // import only 17 '/www/hola/pub/css/unblock_my_settings.less', 18 '/www/hola/pub/css/wbm_flags.less'], 19 function (React, context, www_util, config, zutil, hopt, string, cn, be, 20 zurl, etask, version_util, hola_versions, zescape, RRD, not_found, 21 Icon_slope, _ref, svc_util) 22 {var Svg = _ref.Svg; 23 var E = {}; 24 var App_context = context.App_context; 25 var useLocation = RRD.useLocation; 26 var useEffect = React.useEffect,useContext = React.useContext,useState = React.useState; 27 28 var Settings_header = function Settings_header(props) {var _be$svc; 29 var info = props.info; 30 // product_info() drops appid, take it from the raw svc info 31 var latest = svc_util.pick_version(hola_versions, 32 svc_util.get_product((_be$svc = be.svc()) === null || _be$svc === void 0 ? void 0 : _be$svc.appid), 'windows'); 33 var show_update = info.svc_version && 34 version_util.cmp(info.svc_version, latest) < 0; 35 var update_href = "/download?cid=".concat(info.cid, "&upgrade=1"); 36 var update_cls = 'update-available btn btn-primary btn-xs'; 37 return /*#__PURE__*/React.createElement("div", { className: "page_header container-fluid" }, /*#__PURE__*/ 38 React.createElement("div", { className: "container" }, /*#__PURE__*/ 39 React.createElement("div", { className: "row" }, /*#__PURE__*/ 40 React.createElement("div", { className: "col-xs-12 settings-header" }, 41 show_update && /*#__PURE__*/React.createElement("a", { href: update_href, className: update_cls }, "Update is available" 42 ) 43 ) 44 ) 45 ) 46 ); 47 }; 48 49 var About_header = function About_header(props) { 50 var info = props.info; 51 var show_report = !be.is_android(); 52 var to = be.is_android() ? '[email protected]' : '[email protected]'; 53 var report_href = zescape.mailto_url({ to: to, 54 subject: 'Problem with Hola (my settings)', 55 body: '(Please include a brief explanation of the problem and ' + 56 'a screenshot if possible)\n\n' + 57 'Information automatically generated about my problem:\n' + 58 be.print_product_info(document.createElement('div'), info) }); 59 var on_report = function on_report(ev) { 60 be.perr({ id: 'www_report_problem', info: 'my_settings' }); 61 if (be.is_chrome()) 62 return; 63 ev.preventDefault(); 64 window.open(report_href, '_blank', 'resizable'); 65 }; 66 return /*#__PURE__*/React.createElement("div", { className: "row list-header about_header" }, /*#__PURE__*/ 67 React.createElement("div", { className: "col-xs-7 headline" }, /*#__PURE__*/ 68 React.createElement("h4", null, "About this version") 69 ), /*#__PURE__*/ 70 React.createElement("div", { className: "col-xs-5 actions" }, 71 show_report && /*#__PURE__*/React.createElement("div", { className: "report-problem" }, /*#__PURE__*/ 72 React.createElement("span", null, "Report a problem - "), /*#__PURE__*/ 73 React.createElement("a", { href: report_href, onClick: on_report }, to) 74 ) 75 ) 76 ); 77 }; 78 79 var remove_rule = function remove_rule(rule) {return etask(/*#__PURE__*/_regenerator().m(function _callee() {return _regenerator().w(function (_context) {while (1) switch (_context.n) {case 0: 80 this.on('uncaught', function (e) { 81 be.perr({ id: 'www_rule_unset_err', bt: e.stack, 82 info: 'sid ' + rule.sid + ' name ' + rule.name + ' ' + e }); 83 });_context.n = 1; 84 return be.rule_set(rule, 0, { del: 1 });case 1:_context.n = 2; 85 return be.fetch_all();case 2:return _context.a(2);}}, _callee, this);}) 86 );}; 87 var toggle_rule = function toggle_rule(rule, active) {return etask(/*#__PURE__*/_regenerator().m(function _callee2() {return _regenerator().w(function (_context2) {while (1) switch (_context2.n) {case 0: 88 this.on('uncaught', function (e) { 89 be.perr({ id: 'www_rule_set_err', bt: e.stack, 90 info: 'sid ' + rule.sid + ' name ' + rule.name + ' ' + e }); 91 });_context2.n = 1; 92 return be.rule_set(rule, active);case 1:_context2.n = 2; 93 return be.fetch_all();case 2:return _context2.a(2);}}, _callee2, this);}) 94 );}; 95 var Rule = function Rule(props) { 96 var rule = props.rule,id = props.id,add_undo = props.add_undo; 97 var enabled = rule.enabled,name = rule.name,link = rule.link,country = rule.country; 98 var _useState = useState(enabled),_useState2 = _slicedToArray(_useState, 2),active = _useState2[0],set_active = _useState2[1]; 99 var on = active && props.enabled; 100 var domain = zurl.get_host(zurl.add_proto(link || '') + '/') || name; 101 var href = "http://".concat(domain); 102 var cls = cn('rule dynamic entry', { active: on }); 103 var switch_cls = cn('rule-switch checkbox', { checked: on });
104 var on_toggle = function on_toggle() {return set_active(function (v) {return !v;});}; 105 var on_remove = function on_remove() { 106 remove_rule(rule); 107 add_undo(rule); 108 }; 109 useEffect(function () { 110 etask(/*#__PURE__*/_regenerator().m(function _callee3() {return _regenerator().w(function (_context3) {while (1) switch (_context3.n) {case 0:if (!( 111 active == enabled)) {_context3.n = 1;break;}return _context3.a(2);case 1:if (! 112 113 active) {_context3.n = 2;break;}_context3.n = 2; 114 return be.enable_unblocker(true);case 2:_context3.n = 3; 115 return toggle_rule(rule, active);case 3:return _context3.a(2);}}, _callee3);}) 116 ); 117 }, [active]); 118 return /*#__PURE__*/React.createElement("li", { className: cls, "data-id": id }, /*#__PURE__*/ 119 React.createElement("div", { className: "rule_item rule-switch-wrap", onClick: on_toggle }, /*#__PURE__*/ 120 React.createElement("span", { className: switch_cls, "data-original-title": "", title: "" }), /*#__PURE__*/ 121 React.createElement("div", { className: "tooltip fade top in", role: "tooltip" }, /*#__PURE__*/ 122 React.createElement("div", { className: "tooltip-arrow", style: { left: '50%' } }), /*#__PURE__*/ 123 React.createElement("div", { className: "tooltip-inner" }, "Turn ", on ? 'off' : 'on') 124 ) 125 ), /*#__PURE__*/ 126 React.createElement("div", { className: "rule_item rule-country-wrap" }, /*#__PURE__*/ 127 React.createElement("span", { className: "f32" }, /*#__PURE__*/ 128 React.createElement("i", { className: "flag ".concat(country) }) 129 ) 130 ), /*#__PURE__*/ 131 React.createElement("div", { className: "rule_item rule-url-wrap" }, /*#__PURE__*/ 132 React.createElement("a", { className: "rule-url", href: href, 133 target: "_blank", rel: "noopener noreferrer" }, 134 name 135 ) 136 ), /*#__PURE__*/ 137 React.createElement("div", { className: "rule_item rule-remove-wrap", onClick: on_remove }, /*#__PURE__*/ 138 React.createElement("span", { className: "rule-remove", "data-original-title": "", title: "Delete" }) 139 ) 140 ); 141 }; 142 143 var Vpn_rule_list = function Vpn_rule_list(props) { 144 var rules = props.rules,add_undo = props.add_undo; 145 var _useState3 = useState(be.get('enabled')),_useState4 = _slicedToArray(_useState3, 2),enabled = _useState4[0],set_enabled = _useState4[1]; 146 var keys = Object.keys(rules); 147 useEffect(function () { 148 var cb = function cb() {return set_enabled(be.get('enabled'));}; 149 be.on('change:svc.info change:ext.info', cb); 150 be.fetch_rules(); 151 }, []); 152 return /*#__PURE__*/React.createElement("ul", null, 153 keys.map(function (k) {return /*#__PURE__*/React.createElement(Rule, { key: k, id: k, rule: rules[k], 154 enabled: enabled, add_undo: add_undo });}), 155 !keys.length && /*#__PURE__*/React.createElement("li", { className: "rule entry empty_entry" }, /*#__PURE__*/ 156 React.createElement("div", { className: "message" }, /*#__PURE__*/ 157 React.createElement("span", { className: "text" }, "You have not selected any site to unblock." 158 159 ), /*#__PURE__*/ 160 React.createElement("a", { href: "/access/popular", className: "link" }, " Click to find sites") 161 ) 162 ) 163 ); 164 }; 165 166 var Product_info = function Product_info(props) { 167 var _props$info = props.info,info = _props$info === void 0 ? be.product_info() : _props$info,dev = props.dev; 168 var ext_version = 169 info.ext_version,server_version = info.server_version,svc_version = info.svc_version,svc_mode = info.svc_mode,product_type = info.product_type,browser2 = info.browser2,browser = info.browser,platform = info.platform,cid = info.cid,uuid = info.uuid,svc_mode_pending = info.svc_mode_pending; 170 if (!ext_version) 171 ext_version = window.zon_config && window.zon_config.ZON_VERSION; 172 var mode; 173 if (svc_mode) 174 { 175 mode = "".concat(svc_mode, " active").concat(svc_mode_pending ? 176 ', ' + svc_mode_pending + ' pending' : ''); 177 } 178 cid = be.be_bg_main && be.be_bg_main.get('svc.cid') || cid; 179 uuid = be.be_bg_main && be.be_bg_main.get('uuid') || uuid; 180 return /*#__PURE__*/React.createElement("div", { className: "panel panel-default product_info" }, /*#__PURE__*/ 181 React.createElement("div", { className: "panel-body" }, 182 ext_version && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 183 React.createElement("span", null, "Ext version: "), /*#__PURE__*/React.createElement("span", null, ext_version) 184 ), 185 server_version && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 186 React.createElement("span", null, "WWW version: "), /*#__PURE__*/React.createElement("span", null, server_version) 187 ), 188 svc_version && /*#__PURE__*/React.createElement("div", { className: "product-service-version" }, /*#__PURE__*/ 189 React.createElement("span", null, "Service: "), /*#__PURE__*/React.createElement("span", null, svc_version) 190 ), 191 svc_mode && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 192 React.createElement("span", null, "Mode: "), /*#__PURE__*/React.createElement("span", null, mode) 193 ), 194 product_type && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 195 React.createElement("span", null, "Product: "), /*#__PURE__*/React.createElement("span", null, product_type) 196 ), 197 (browser2 || browser) && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 198 React.createElement("span", null, "Browser: "), /*#__PURE__*/React.createElement("span", null, browser2 || browser) 199 ), 200 platform && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 201 React.createElement("span", null, "Platform: "), /*#__PURE__*/React.createElement("span", null, platform) 202 ), 203 cid && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 204 React.createElement("span", null, "CID: "), /*#__PURE__*/React.createElement("span", null, cid) 205 ), 206 uuid && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 207 React.createElement("span", null, "UUID: "), /*#__PURE__*/React.createElement("span", null, uuid) 208 ), 209 dev && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 210 React.createElement("span", null, "Dev info: "), /*#__PURE__*/React.createElement("span", null, dev) 211 ) 212 ) 213 ); 214 }; 215 216 var Settings_hr = function Settings_hr() {return /*#__PURE__*/React.createElement("div", { className: "settings-hr" });}; 217 218 var Settings_p = function Settings_p(props) {return /*#__PURE__*/React.createElement("div", { className: "settings-p" }, props.children);}; 219 220 var Subscribe_plus_btn = function Subscribe_plus_btn() {return /*#__PURE__*/React.createElement("a", { className: "subscribe-plus-btn", 221 href: "/plus?ref=p2p_settings" }, /*#__PURE__*/ 222 React.createElement("span", null, "Subscribe to PLUS $2.99/mo") 223 );}; 224 225 // XXX sergeir: always true, need to make it switchable when needed 226 var Settings_switch = /*#__PURE__*/function (_React$Component) {function Settings_switch() {var _this;_classCallCheck(this, Settings_switch);for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _callSuper(this, Settings_switch, [].concat(args));_defineProperty(_this, "on_click", 227 function () { 228 _this.props.on_change(); 229 });return _this;}_inherits(Settings_switch, _React$Component);return _createClass(Settings_switch, [{ key: "render", value: 230 function render() { 231 return /*#__PURE__*/React.createElement("div", { className: "settings-switch", onClick: this.on_click }, /*#__PURE__*/ 232 React.createElement("div", { className: "info" }, /*#__PURE__*/ 233 React.createElement("div", { className: "title" }, this.props.title), /*#__PURE__*/ 234 React.createElement("div", { className: "subtitle" }, this.props.subtitle) 235 ), /*#__PURE__*/ 236 React.createElement("div", { className: "switch" }) 237 ); 238 } }]);}(React.Component);var 239 240 241 P2p_settings_tab = /*#__PURE__*/function (_React$Component2) {function P2p_settings_tab() {var _this2;_classCallCheck(this, P2p_settings_tab);for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this2 = _callSuper(this, P2p_settings_tab, [].concat(args));_defineProperty(_this2, "state", 242 {});_defineProperty(_this2, "promote_plus", 243 function () { 244 _this2.setState({ promote_plus: true }); 245 });return _this2;}_inherits(P2p_settings_tab, _React$Component2);return _createClass(P2p_settings_tab, [{ key: "render", value: 246 function render() { 247 return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/ 248 React.createElement(Settings_switch, { title: 'Allow to be a peer', 249 subtitle: 'Share minimal resources', 250 on_change: this.promote_plus }), 251 this.state.promote_plus && /*#__PURE__*/ 252 React.createElement(Settings_p, null, "If you don't want to be a peer, subscribe to PLUS", /*#__PURE__*/ 253 254 React.createElement(Subscribe_plus_btn, null) 255 ), /*#__PURE__*/ 256 React.createElement(Settings_hr, null), /*#__PURE__*/ 257 React.createElement(Settings_p, null, /*#__PURE__*/ 258 React.createElement("a", { href: "https://support.hola.org/en/collections/9935345-faq" }, "About the hola P2P Network") 259 ) 260 ); 261 } }]);}(React.Component); 262 263 264 var Svg_slope = function Svg_slope() { 265 return /*#__PURE__*/React.createElement(Svg, { icon: /*#__PURE__*/React.createElement(Icon_slope, { width: 20, height: 36 }), cls: "tabs-side" }); 266 }; 267 var software_attribution_url = '/software_attribution?ref=unblock&' +
268 'utm_source=settings'; 269 var get_rules = function get_rules() {return be.get('rules') || {};}; 270 var get_info = function get_info() {return be.product_info();}; 271 var Root = function Access_my_settings(props) { 272 if (props.internal_err) 273 return /*#__PURE__*/React.createElement(not_found.Root, props); 274 var _useContext = useContext(App_context),user = _useContext.user,is_plus = _useContext.is_plus; 275 var user_country = props.user_country; 276 var _useLocation = useLocation(),hash = _useLocation.hash,pathname = _useLocation.pathname; 277 var _useState5 = useState((hash.match(/^#\/?(.*)/) || [])[1] || 278 'vpn'),_useState6 = _slicedToArray(_useState5, 2),tab = _useState6[0],set_tab = _useState6[1]; 279 var _useState7 = useState(get_rules()),_useState8 = _slicedToArray(_useState7, 2),rules = _useState8[0],set_rules = _useState8[1]; 280 var _useState9 = useState(get_info()),_useState0 = _slicedToArray(_useState9, 2),info = _useState0[0],set_info = _useState0[1]; 281 var _useState1 = useState({}),_useState10 = _slicedToArray(_useState1, 2),undo = _useState10[0],set_undo = _useState10[1]; 282 var _useState11 = useState(be.is_svc()),_useState12 = _slicedToArray(_useState11, 2),is_svc = _useState12[0],set_is_svc = _useState12[1]; 283 var undo_length = Object.keys(undo).length; 284 var add_undo = function add_undo(rule) { 285 if (undo[rule.id]) 286 return; 287 var fn = function fn() {return etask(/*#__PURE__*/_regenerator().m(function _callee4() {return _regenerator().w(function (_context4) {while (1) switch (_context4.n) {case 0:_context4.n = 1; 288 return toggle_rule(rule, rule.enabled);case 1:return _context4.a(2);}}, _callee4);}) 289 );}; 290 set_undo(function (v) {return _objectSpread(_objectSpread({}, v), {}, _defineProperty({}, rule.id, fn));}); 291 }; 292 var on_undo = function on_undo() { 293 Object.keys(undo).forEach(function (k) {return etask(/*#__PURE__*/_regenerator().m(function _callee5() {return _regenerator().w(function (_context5) {while (1) switch (_context5.n) {case 0:_context5.n = 1; 294 return undo[k]();case 1: 295 set_undo(function (v) { 296 delete v[k]; 297 return v; 298 });case 2:return _context5.a(2);}}, _callee5);}) 299 );}); 300 }; 301 var on_clear_all = function on_clear_all() { 302 Object.keys(rules).forEach(function (k) {return etask(/*#__PURE__*/_regenerator().m(function _callee6() {var rule;return _regenerator().w(function (_context6) {while (1) switch (_context6.n) {case 0: 303 rule = rules[k];_context6.n = 1; 304 return remove_rule(rule);case 1: 305 add_undo(rule);case 2:return _context6.a(2);}}, _callee6);}) 306 );}); 307 }; 308 useEffect(function () { 309 www_util.perr_www_visit({ id: 'www_access_my_settings_visit', user: user }); 310 be.init({ src_country: user_country }); 311 be.on('change:rules', function () {return set_rules(get_rules());}); 312 be.on('change:svc.info change:ext.info', function () { 313 set_info(get_info()); 314 set_is_svc(be.is_svc()); 315 }); 316 be.on('change:svc.info change:ext.info change:browser', function () {}); 317 be.init_fetch_rules(); 318 document.documentElement.classList.add('my_settings'); 319 return function () { 320 document.documentElement.classList.remove('my_settings'); 321 }; 322 }, []); 323 var on_tab_click = function on_tab_click(label) {return function () { 324 set_tab(label); 325 history.replaceState(null, null, "".concat(pathname, "#/").concat(label)); 326 };}; 327 var vpn_tab_cls = cn('tabs-button', { 'tabs-active': tab == 'vpn' }); 328 var about_tab_cls = cn('tabs-button', { 'tabs-active': tab == 'about' }); 329 var p2p_tab_cls = cn('tabs-button', { 330 hidden: !is_svc || is_plus, 331 'tabs-active': tab == 'p2p' 332 }); 333 var vpn_cls = cn('col-xs-12 tab-content', { 'tabs-active': tab == 'vpn' }); 334 var about_cls = cn('col-xs-12 tab-content', { 335 'tabs-active': tab == 'about' 336 }); 337 var p2p_cls = cn('col-xs-12 tab-content', { 'tabs-active': tab == 'p2p' });
338 var undo_cls = cn('vpn-undo', { 'undo-hidden': !undo_length }); 339 var undo_title = 'Undo remove ' + (undo_length == 1 ? 'one rule' : "".concat( 340 undo_length, " rules")); 341 return /*#__PURE__*/React.createElement("div", { className: "unblock-settings_new" }, /*#__PURE__*/React.createElement("div", { className: "wrap" }, /*#__PURE__*/ 342 React.createElement(Settings_header, _extends({}, props, { info: info })), /*#__PURE__*/ 343 React.createElement("div", { className: "container rules" }, /*#__PURE__*/ 344 React.createElement("div", { className: "tabs-row row" }, /*#__PURE__*/ 345 React.createElement("span", { className: vpn_tab_cls, "data-label": "vpn", 346 onClick: on_tab_click('vpn') }, /*#__PURE__*/ 347 React.createElement(Svg_slope, null), /*#__PURE__*/ 348 React.createElement("span", { className: "tabs-icon vpn-icon" }), /*#__PURE__*/ 349 React.createElement("span", { className: "tabs-label" }, "Hola"), /*#__PURE__*/ 350 React.createElement(Svg_slope, null) 351 ), /*#__PURE__*/ 352 React.createElement("span", { className: p2p_tab_cls, "data-label": "p2p", 353 onClick: on_tab_click('p2p') }, /*#__PURE__*/ 354 React.createElement(Svg_slope, null), /*#__PURE__*/ 355 React.createElement("span", { className: "tabs-icon p2p-icon" }), /*#__PURE__*/ 356 React.createElement("span", { className: "tabs-label" }, "P2P"), /*#__PURE__*/ 357 React.createElement(Svg_slope, null) 358 ), /*#__PURE__*/ 359 React.createElement("span", { className: about_tab_cls, "data-label": "about", 360 onClick: on_tab_click('about') }, /*#__PURE__*/ 361 React.createElement(Svg_slope, null), /*#__PURE__*/ 362 React.createElement("span", { className: "tabs-icon about-icon" }), /*#__PURE__*/ 363 React.createElement("span", { className: "tabs-label" }, "About"), /*#__PURE__*/ 364 React.createElement(Svg_slope, null) 365 ) 366 ) 367 ), /*#__PURE__*/ 368 React.createElement("div", { className: "container activate-hola-wrap" }, /*#__PURE__*/ 369 React.createElement("div", { className: "msg_install_anchor row" }) 370 ), /*#__PURE__*/ 371 React.createElement("div", { className: "msg_error_anchor container" }), /*#__PURE__*/ 372 React.createElement("div", { className: "container main-container" }, /*#__PURE__*/ 373 React.createElement("div", { className: "row tabs-container" }, /*#__PURE__*/ 374 React.createElement("div", { "data-label": "vpn", className: vpn_cls }, /*#__PURE__*/ 375 React.createElement("div", { className: "row" }, /*#__PURE__*/ 376 React.createElement("div", { className: "col-xs-12" }, /*#__PURE__*/ 377 React.createElement("div", { className: "my-scripts-anchor" }) 378 ), /*#__PURE__*/ 379 React.createElement("div", { className: "col-xs-12 list-header-wrap" }, /*#__PURE__*/ 380 React.createElement("div", { className: "row list-header rules_list_header" }, /*#__PURE__*/ 381 React.createElement("div", { className: "col-xs-11 headline" }, /*#__PURE__*/ 382 React.createElement("h4", null, "Recently visited sites") 383 ), /*#__PURE__*/ 384 React.createElement("div", { className: "col-xs-1 actions" }, /*#__PURE__*/ 385 React.createElement("span", { className: "vpn-clear-all-data", title: "Clear all", 386 onClick: on_clear_all }), /*#__PURE__*/ 387 React.createElement("span", { className: undo_cls, title: undo_title, 388 onClick: on_undo }) 389 ) 390 ) 391 ), /*#__PURE__*/ 392 React.createElement("div", { className: "col-xs-12 table-wrap" }, /*#__PURE__*/ 393 React.createElement(Vpn_rule_list, { rules: rules, add_undo: add_undo }) 394 ) 395 ) 396 ), /*#__PURE__*/ 397 React.createElement("div", { "data-label": "p2p", className: p2p_cls }, /*#__PURE__*/ 398 React.createElement("div", { className: "row" }, /*#__PURE__*/ 399 React.createElement("div", { className: "col-xs-12" }, /*#__PURE__*/ 400 React.createElement("div", { className: "col-xs-12 list-header-wrap" }, /*#__PURE__*/ 401 React.createElement("div", { className: "row list-header settings_header" }, /*#__PURE__*/ 402 React.createElement("div", { className: "col-xs-12 headline" }, /*#__PURE__*/ 403 React.createElement("h4", null, "P2P settings") 404 ) 405 ) 406 ) 407 ), /*#__PURE__*/ 408 React.createElement("div", { className: "col-xs-12 p2p-wrap" }, 409 is_svc && !is_plus && /*#__PURE__*/React.createElement(P2p_settings_tab, null) 410 ) 411 ) 412 ), /*#__PURE__*/ 413 React.createElement("div", { "data-label": "about", className: about_cls }, /*#__PURE__*/ 414 React.createElement("div", { className: "row" }, /*#__PURE__*/ 415 React.createElement("div", { className: "col-xs-12" }, /*#__PURE__*/ 416 React.createElement("div", { className: "col-xs-12 list-header-wrap" }, /*#__PURE__*/ 417 React.createElement(About_header, { info: info }) 418 ) 419 ), /*#__PURE__*/ 420 React.createElement("div", { className: "col-xs-12 table-wrap" }, /*#__PURE__*/ 421 React.createElement(Product_info, { info: info }), /*#__PURE__*/ 422 React.createElement("a", { href: software_attribution_url }, "Creative licenses") 423 ) 424 ) 425 ) 426 ) 427 ) 428 )); 429 }; 430 431 E = { Root: Root }; 432 433 return E; 434 });})(); 435//# sourceMappingURL=unblock_my_settings.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.