@abtnode/blocklet-services 1.7.15 → 1.7.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/api/services/auth/connect/invite.js +1 -0
  2. package/api/services/auth/connect/issue-passport.js +2 -1
  3. package/api/services/auth/connect/login.js +11 -5
  4. package/build/asset-manifest.json +28 -28
  5. package/build/index.html +1 -1
  6. package/build/{precache-manifest.fa7b4ab579d57fabdd2f661bbe9477eb.js → precache-manifest.c82f233909194dca95a9f73ae18caf89.js} +26 -26
  7. package/build/service-worker.js +1 -1
  8. package/build/static/js/0.65d89c48.chunk.js +3 -0
  9. package/build/static/js/{0.0e886baa.chunk.js.LICENSE.txt → 0.65d89c48.chunk.js.LICENSE.txt} +0 -0
  10. package/build/static/js/0.65d89c48.chunk.js.map +1 -0
  11. package/build/static/js/1.45d34a8d.chunk.js +2 -0
  12. package/build/static/js/{1.ad8ebbc7.chunk.js.map → 1.45d34a8d.chunk.js.map} +1 -1
  13. package/build/static/js/10.d8b82f8d.chunk.js +2 -0
  14. package/build/static/js/10.d8b82f8d.chunk.js.map +1 -0
  15. package/build/static/js/4.7a36b2ba.chunk.js +3 -0
  16. package/build/static/js/{4.5ba3405d.chunk.js.LICENSE.txt → 4.7a36b2ba.chunk.js.LICENSE.txt} +0 -0
  17. package/build/static/js/4.7a36b2ba.chunk.js.map +1 -0
  18. package/build/static/js/{5.bbb19a41.chunk.js → 5.3334eaed.chunk.js} +2 -2
  19. package/build/static/js/{5.bbb19a41.chunk.js.map → 5.3334eaed.chunk.js.map} +1 -1
  20. package/build/static/js/6.fa05fa72.chunk.js +2 -0
  21. package/build/static/js/6.fa05fa72.chunk.js.map +1 -0
  22. package/build/static/js/{7.bf50e386.chunk.js → 7.f7f97288.chunk.js} +2 -2
  23. package/build/static/js/7.f7f97288.chunk.js.map +1 -0
  24. package/build/static/js/8.018740e7.chunk.js +2 -0
  25. package/build/static/js/8.018740e7.chunk.js.map +1 -0
  26. package/build/static/js/9.bedec3ae.chunk.js +2 -0
  27. package/build/static/js/9.bedec3ae.chunk.js.map +1 -0
  28. package/build/static/js/main.e3089af8.chunk.js +2 -0
  29. package/build/static/js/main.e3089af8.chunk.js.map +1 -0
  30. package/build/static/js/{runtime-main.829b2277.js → runtime-main.fca72100.js} +2 -2
  31. package/build/static/js/{runtime-main.829b2277.js.map → runtime-main.fca72100.js.map} +1 -1
  32. package/package.json +25 -25
  33. package/build/static/js/0.0e886baa.chunk.js +0 -3
  34. package/build/static/js/0.0e886baa.chunk.js.map +0 -1
  35. package/build/static/js/1.ad8ebbc7.chunk.js +0 -2
  36. package/build/static/js/10.4bc669a4.chunk.js +0 -2
  37. package/build/static/js/10.4bc669a4.chunk.js.map +0 -1
  38. package/build/static/js/4.5ba3405d.chunk.js +0 -3
  39. package/build/static/js/4.5ba3405d.chunk.js.map +0 -1
  40. package/build/static/js/6.81f46015.chunk.js +0 -2
  41. package/build/static/js/6.81f46015.chunk.js.map +0 -1
  42. package/build/static/js/7.bf50e386.chunk.js.map +0 -1
  43. package/build/static/js/8.7b812796.chunk.js +0 -2
  44. package/build/static/js/8.7b812796.chunk.js.map +0 -1
  45. package/build/static/js/9.fb2b8a65.chunk.js +0 -2
  46. package/build/static/js/9.fb2b8a65.chunk.js.map +0 -1
  47. package/build/static/js/main.de8a9159.chunk.js +0 -2
  48. package/build/static/js/main.de8a9159.chunk.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../ux/lib/issue-passport.js","pages/issue-passport.js","../../../node_modules/@mui/icons-material/CheckCircle.js","../../ux/lib/wrap-locale.js","../../ux/lib/locales/index.js","../../ux/lib/locales/en.js","../../ux/lib/locales/zh.js"],"names":["Object","defineProperty","exports","value","default","_react","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_reactRouterDom","_Typography","_CheckCircle","_Box","_Center","_Button","_Connect","_context","_constant","_wrapLocale","WeakMap","cacheBabelInterop","cacheNodeInterop","Div","withConfig","displayName","componentId","_default","_ref","SessionContext","webWalletUrl","useContext","api","session","LocaleContext","t","locale","useState","success","setSuccess","history","useHistory","extraParams","id","URL","window","location","href","searchParams","createElement","className","textAlign","mb","color","style","fontSize","component","variant","mt","onClick","_window$env","logout","err","env","apiPrefix","startsWith","WELLKNOWN_SERVICE_PATH_PREFIX","replace","concat","action","checkFn","checkTimeout","socketUrl","onSuccess","messages","title","scan","name","appName","confirm","LostPassport","getWebWalletUrl","_createSvgIcon","_jsxRuntime","jsx","d","Component","props","LocaleProvider","translations","_locales","en","zh","module","flat","issuePassport","description","dialog","loginWithPassport","lostPassport","return","selectPassport","receivePassport","common","next","complete"],"mappings":"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","file":"static/js/8.7b812796.chunk.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _styledComponents = _interopRequireDefault(require(\"styled-components\"));\n\nvar _reactRouterDom = require(\"react-router-dom\");\n\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\n\nvar _CheckCircle = _interopRequireDefault(require(\"@mui/icons-material/CheckCircle\"));\n\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\n\nvar _Center = _interopRequireDefault(require(\"@arcblock/ux/lib/Center\"));\n\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\n\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\n\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\n\nvar _constant = require(\"@abtnode/constant\");\n\nvar _wrapLocale = _interopRequireDefault(require(\"./wrap-locale\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/* eslint-disable react/jsx-one-expression-per-line, no-undef */\n// eslint-disable-next-line react/prop-types\nfunction IssuePassport(_ref) {\n let {\n SessionContext,\n webWalletUrl\n } = _ref;\n const {\n api,\n session\n } = (0, _react.useContext)(SessionContext);\n const {\n t,\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const [success, setSuccess] = (0, _react.useState)(false);\n const history = (0, _reactRouterDom.useHistory)();\n\n const onSuccess = () => {\n setSuccess(true);\n };\n\n const extraParams = {};\n const {\n searchParams\n } = new URL(window.location.href);\n const id = searchParams.get('id');\n\n if (id) {\n extraParams.id = id;\n }\n\n const onLogin = () => {\n var _window$env;\n\n try {\n session.logout();\n } catch (err) {// Do nothing\n }\n\n if ((((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.apiPrefix) || '').startsWith(_constant.WELLKNOWN_SERVICE_PATH_PREFIX)) {\n history.replace(\"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/login\"));\n return;\n }\n\n history.replace('/');\n };\n\n return /*#__PURE__*/_react.default.createElement(Div, null, success ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"login\"\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"connect\"\n }, /*#__PURE__*/_react.default.createElement(_Box.default, {\n textAlign: \"center\"\n }, /*#__PURE__*/_react.default.createElement(_Box.default, {\n mb: 3,\n color: \"success.main\"\n }, /*#__PURE__*/_react.default.createElement(_CheckCircle.default, {\n style: {\n fontSize: 60\n }\n })), /*#__PURE__*/_react.default.createElement(_Typography.default, {\n component: \"p\",\n variant: \"body1\",\n className: \"subheader\"\n }, t('issuePassport.dialog.success')), /*#__PURE__*/_react.default.createElement(_Box.default, {\n mt: 3\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n variant: \"contained\",\n color: \"primary\",\n onClick: onLogin\n }, t('issuePassport.dialog.loginWithPassport')))))) : /*#__PURE__*/_react.default.createElement(_Connect.default, {\n className: \"connect\",\n action: \"issue-passport\",\n checkFn: api.get,\n checkTimeout: 10 * 60 * 1000,\n socketUrl: api.socketUrl,\n webWalletUrl: webWalletUrl,\n onSuccess: onSuccess,\n locale: locale,\n messages: {\n title: t('issuePassport.title'),\n scan: t('issuePassport.description', {\n name: window.env.appName\n }),\n confirm: t('issuePassport.dialog.confirm'),\n success: t('issuePassport.dialog.success')\n },\n extraParams: extraParams\n }));\n}\n\nconst Div = (0, _styledComponents.default)(_Center.default).withConfig({\n displayName: \"issue-passport__Div\",\n componentId: \"sc-ovfail-0\"\n})([\".header{text-align:center;margin-bottom:8px;}.subheader{text-align:center;margin-bottom:24px;}.login{padding:24px;height:auto;min-height:480px;display:flex;flex-direction:column;}.connect{background:#fafafa;}\"]);\n\nvar _default = (0, _wrapLocale.default)(IssuePassport);\n\nexports.default = _default;","/* eslint-disable react/jsx-one-expression-per-line */\nimport React from 'react';\nimport IssuePassportPage from '@abtnode/ux/lib/issue-passport';\n\nimport { SessionContext } from '../contexts/session';\nimport { getWebWalletUrl } from '../util';\n\nexport default function LostPassport() {\n return <IssuePassportPage SessionContext={SessionContext} webWalletUrl={getWebWalletUrl()} />;\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = wrapLocale;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\n\nvar _locales = require(\"./locales\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable react/jsx-props-no-spreading */\n\n/* eslint-disable import/no-extraneous-dependencies */\nfunction wrapLocale(Component) {\n return props => /*#__PURE__*/_react.default.createElement(_context.LocaleProvider, {\n translations: _locales.translations\n }, /*#__PURE__*/_react.default.createElement(Component, props));\n}","\"use strict\";\n\nconst en = require('./en');\n\nconst zh = require('./zh');\n\nmodule.exports = {\n translations: {\n zh,\n en\n }\n};","\"use strict\";\n\n/* eslint-disable import/no-extraneous-dependencies */\nconst flat = require('flat');\n\nmodule.exports = flat({\n issuePassport: {\n title: 'Receive Passport',\n description: 'Use DID Wallet to receive the passport issued by {name}',\n dialog: {\n scan: 'Use your DID Wallet to claim the passport',\n confirm: 'Confirm on your DID Wallet',\n success: 'The passport has been successfully added in your wallet',\n loginWithPassport: 'Connect with this Passport'\n }\n },\n lostPassport: {\n title: 'Lost Passport',\n description: 'The owner of {name} can scan the QR code to retrieve the passport, members please contact the owner to reissue the passport',\n dialog: {\n scan: 'Use your DID Wallet to recover the passport',\n confirm: 'Confirm on your DID Wallet',\n success: 'The passport has been successfully added in your wallet'\n },\n return: 'Connect with passport',\n selectPassport: 'Select passport',\n receivePassport: 'Receive passport'\n },\n common: {\n next: 'Next',\n complete: 'Complete'\n }\n});","\"use strict\";\n\n/* eslint-disable import/no-extraneous-dependencies */\nconst flat = require('flat');\n\nmodule.exports = flat({\n issuePassport: {\n title: '领取通行证',\n description: '使用 DID 钱包领取 {name} 颁发的通行证',\n dialog: {\n confirm: '在您的 DID 钱包上确认',\n success: '通行证已成功添加到您的 DID 钱包',\n loginWithPassport: '用此通行证连接'\n }\n },\n lostPassport: {\n title: '找回通行证',\n description: '{name} 所有者可扫描二维码找回通行证,成员请联系所有者重新颁发通行证',\n dialog: {\n scan: '用您的 DID 钱包扫描下面的二维码',\n confirm: '在您的 DID 钱包上确认',\n success: '通行证已成功添加到您的 DID 钱包'\n },\n return: '使用通行证登录',\n selectPassport: '选择通行证',\n receivePassport: '领取通行证'\n },\n common: {\n next: '下一步',\n complete: '完成'\n }\n});"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[]).push([[9],{1150:function(e,n,t){"use strict";var a=t(148);Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=a(t(149)),o=t(2),i=(0,r.default)((0,o.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");n.default=i},1213:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return W}));var a,r,o,i=t(26),l=t(11),c=t(1045),s=t(0),u=t.n(s),d=t(48),p=t(501),f=t(1150),E=t.n(f),L=t(194),_=t(371),m=t.n(_),b=t(129),h=t(153),O=t.n(h),T=t(528),g=t.n(T),v=t(526),C=t.n(v),k=t(377),w=t.n(k),x=t(157),B=t.n(x),y=t(131),A=t.n(y),P=t(440),S=t(1027),R=t.n(S),K=t(908),N=t(74),I=t(952),j=t.n(I),F=t(310),D=t(227),U=["appInfo"],M=function(e){var n=e.appInfo,t=Object(c.a)(e,U),a=u.a.useState(!1),r=Object(l.a)(a,2),o=r[0],i=r[1],s=Object(P.a)((function(e){return e.breakpoints.down("md")}))?32:48;return o?u.a.createElement(g.a,{did:n.publisher,size:s}):u.a.createElement(w.a,Object.assign({src:n.icon,alt:n.title,width:s,height:s},t,{onError:function(){return i(!0)}}))};function W(){var e=Object(b.useLocaleContext)().t,n=Object(s.useState)(null),t=Object(l.a)(n,2),a=t[0],r=t[1],o=Object(s.useState)(!1),i=Object(l.a)(o,2),c=i[0],d=i[1],f=Object(s.useState)(!1),L=Object(l.a)(f,2),_=L[0],h=L[1],T=Object(P.a)((function(e){return e.breakpoints.down("md")})),g=function(){var e=new URL(window.location.href).searchParams.get("redirect")||"/";window.location=decodeURIComponent(e)};Object(s.useEffect)((function(){var e=null,n=function(){F.a.get("/blocklet/detail").then((function(n){var t=n.data;"running"!==t.status?"starting"!==t.status&&(h(!1),r(t),clearInterval(e)):g()})).catch((function(e){d(!1),O.a.error(e.message)}))};d(!0),F.a.get("/blocklet/detail").then((function(t){var a=t.data;d(!1),"running"!==a.status?(r(a),"starting"===a.status&&(h(!0),e=setInterval(n,3e3))):g()})).catch((function(e){d(!1),O.a.error(e.message)}))}),[]);if(!a)return u.a.createElement(B.a,null,u.a.createElement(A.a,null));var v={icon:"".concat(N.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),title:Object(K.getDisplayName)(a),publisher:a.appDid};return u.a.createElement(z,null,u.a.createElement("header",{className:"root-header"},!T&&u.a.createElement("div",{className:"left"},u.a.createElement(R.a,{width:"128",height:"48"})),u.a.createElement("div",{className:"right"},u.a.createElement(j.a,{SessionContext:D.a}))),u.a.createElement(H,{elevation:0},u.a.createElement(Y,null,u.a.createElement(M,{appInfo:v}),u.a.createElement("div",{className:"app-info_content"},u.a.createElement(p.a,{className:"app-info_name"},v.title),u.a.createElement(C.a,{size:14,className:"app-info_did"},v.publisher))),u.a.createElement(p.a,{className:"title-box"},u.a.createElement(p.a,{className:"icon"},u.a.createElement(E.a,null)),u.a.createElement(p.a,{className:"title"},e("blocklet.startApplication"))),u.a.createElement(p.a,{className:"sub-title"},e("blocklet.startDescription",{name:Object(K.getDisplayName)(a)})),u.a.createElement(p.a,{mt:8},u.a.createElement(m.a,{style:{minWidth:200},disabled:c||_,variant:"contained",color:"primary",size:"large",loading:_,onClick:function(){return d(!0),h(!0),void F.a.post("/blocklet/start").then((function(){g()})).catch((function(e){O.a.error(e.message),d(!1),h(!1)}))}},e(_?"blocklet.starting":"blocklet.start")))))}var z=d.default.div(a||(a=Object(i.a)(["\n width: 100vw;\n height: 100vh;\n background: #f6f8fa;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .root-header {\n position: fixed;\n z-index: 200;\n top: 0;\n display: flex;\n width: 100%;\n height: 68px;\n align-items: center;\n justify-content: flex-end;\n padding: 24px;\n\n "," {\n padding: 14px 16px;\n height: 56px;\n }\n\n .left {\n margin-top: 4px;\n margin-right: auto;\n "," {\n margin-top: 0%;\n }\n }\n\n .right {\n display: flex;\n align-items: center;\n "," {\n button,\n a {\n padding-left: 8px;\n padding-right: 8px;\n }\n }\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.breakpoints.down("md")})),H=Object(d.default)(L.a)(r||(r=Object(i.a)(["\n width: 80vw;\n max-width: 1245px;\n height: 80vh;\n box-sizing: border-box;\n padding: 32px;\n &.MuiPaper-rounded {\n border-radius: 8px;\n }\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n "," {\n width: 100vw;\n height: 100vh;\n left: 0;\n top: 0;\n padding: 32px 0;\n }\n\n .MuiIconButton-root {\n svg {\n fill: #888;\n }\n &.Mui-disabled {\n opacity: 0.4;\n }\n }\n\n .title-box {\n display: flex;\n align-items: center;\n "," {\n margin-top: 60px;\n }\n }\n\n .icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 100%;\n background-color: ",";\n color: ",";\n }\n\n .title {\n margin-left: 12px;\n color: ",";\n font-size: 24px;\n font-weight: bolder;\n }\n\n .sub-title {\n margin-top: 24px;\n color: ",";\n font-size: 16px;\n }\n"])),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.palette.primary.main}),(function(e){return e.theme.palette.common.white}),(function(e){return e.theme.palette.primary.main}),(function(e){return e.theme.palette.grey[700]})),Y=d.default.div(o||(o=Object(i.a)(["\n display: flex;\n align-items: center;\n position: absolute;\n left: 24px;\n right: 24px;\n top: 24px;\n font-size: 16px;\n font-weight: 500;\n color: #222;\n\n /* \u7981\u6b62 app icon shrink */\n > *:first-child {\n flex: 0 0 auto;\n }\n\n .app-info_content {\n padding-left: 16px;\n overflow: hidden;\n }\n\n .app-info_name {\n max-width: 100%;\n padding-right: 32px;\n line-height: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n }\n\n .app-info_did {\n transform: translate(0, 2px);\n }\n\n .app-info_did .did-address__text {\n color: #666;\n font-size: 14px;\n }\n\n "," {\n top: 12px;\n .app-info_did {\n transform: translate(0, 0);\n }\n .app-info_did .did-address__text {\n font-size: 12px;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")}))},908:function(e,n,t){var a=t(49),r=t(290),o=t(379),i=t(951),l=t(1028),c=t(74),s=c.NODE_SERVICES,u=c.SLOT_FOR_IP_DNS_SITE,d=c.WHO_CAN_ACCESS,p=t(915),f=p.BlockletGroup,E=p.fromBlockletStatus,L=p.fromBlockletSource,_=p.BLOCKLET_INTERFACE_TYPE_WEB,m=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.parallel,l=void 0!==i&&i,c=t.sync;if(c){if(n(e),e.children){var s,u=o(e.children);try{for(u.s();!(s=u.n()).done;){var d=s.value;n(d)}}catch(_){u.e(_)}finally{u.f()}}return null}if(!l)return new Promise(function(){var t=r(a.mark((function t(r,i){var l,c,s;return a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n(e);case 3:if(!e.children){t.next=21;break}l=o(e.children),t.prev=5,l.s();case 7:if((c=l.n()).done){t.next=13;break}return s=c.value,t.next=11,n(s);case 11:t.next=7;break;case 13:t.next=18;break;case 15:t.prev=15,t.t0=t.catch(5),l.e(t.t0);case 18:return t.prev=18,l.f(),t.finish(18);case 21:r(null),t.next=27;break;case 24:t.prev=24,t.t1=t.catch(0),i(t.t1);case 27:case"end":return t.stop()}}),t,null,[[0,24],[5,15,18,21]])})));return function(e,n){return t.apply(this,arguments)}}());var p=[];if(p.push(n(e)),e.children){var f,E=o(e.children);try{for(E.s();!(f=E.n()).done;){var L=f.value;p.push(n(L))}}catch(_){E.e(_)}finally{E.f()}}return Promise.all(p)},b=function(e,n){return m(e,n,{sync:!0})},h=function(e){if(!e)return null;var n=(e.meta||e||{}).interfaces,t=void 0===n?[]:n;return Array.isArray(t)?t.find((function(e){return e.type===_})):null},O=function(e,n){var t=[n];n===s.AUTH&&t.push(s.AUTH_SERVICE);var a=h(e);return a?(a.services||[]).find((function(e){return t.includes(e.name)})):null};e.exports={isFreeBlocklet:function(e){return!e.payment||(e.payment.price||[]).map((function(e){return e.value||0})).every((function(e){return 0===e}))},isComponentBlocklet:function(e){return!1!==i(e,"capabilities.component")},forEachBlockletSync:b,isDeletableBlocklet:function(e){if(!e)return!1;var n=e.environments.find((function(e){return"BLOCKLET_DELETABLE"===e.key}));return!n||"yes"===n.value},forEachBlocklet:m,getRequiredMissingConfigs:function(e){var n=[],t=e.configs||[];t.forEach((function(t){t.required&&!t.value&&n.push({did:e.meta.did,key:t.key,description:t.description})}));var a,r=o(e.children||[]);try{var i=function(){var e=a.value;(e.configs||[]).forEach((function(a){!a.required||a.value||t.some((function(e){return e.key===a.key&&e.value}))||n.push({did:e.meta.did,key:a.key,description:a.description})}))};for(r.s();!(a=r.n()).done;)i()}catch(l){r.e(l)}finally{r.f()}return n},wipeSensitiveData:function(e){return e?(m(e,(function(n){(n.configs||[]).forEach((function(e){e.secure&&(e.value=e.value?"__encrypted__":"")})),(n.environments||[]).forEach((function(e){["BLOCKLET_APP_SK"].includes(e.key)&&(e.value="__encrypted__")})),delete e.configObj,delete e.environmentObj}),{sync:!0}),e):e},hasRunnableComponent:function(e){var n=!1;return b(e,(function(e){e.meta.group!==f.gateway&&(n=!0)})),n},getDisplayName:function(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.meta;if(!t&&e.environments){var r=e.environments.find((function(e){return"BLOCKLET_APP_NAME"===e.key}));r&&r.value&&(n=r.value)}return n||a.title||a.name},fixBlockletStatus:function(e){e&&(e.status=E(e.status),e.source=L(e.source),(e.children||[]).forEach((function(e){e.status=E(e.status),void 0!==e.source&&(e.source=L(e.source))})),e.settings&&(e.settings.children||[]).forEach((function(e){e.status=E(e.status),void 0!==e.source&&(e.source=L(e.source))})))},findWebInterface:h,findServiceFromMeta:O,getWhoCanAccess:function(e){if(!e)return d.ALL;if(i(e,"settings.whoCanAccess"))return e.settings.whoCanAccess;var n=O(e.meta,s.AUTH);return i(n,"config.whoCanAccess")?n.config.whoCanAccess:d.ALL},replaceSlotToIp:function(e,n){return(e||"").replace(u,(n||"").replace(/\./g,"-"))},urlFriendly:function(e){return l(e.replace(/^[@./-]/,"").replace(/[@./_]/g,"-"))}}},915:function(e,n){var t=function(e){return function(n){var t=Object.entries(e).find((function(e){return e[1]===Number(n)}));return t?t[0]:"unknown"}},a=function(e){return function(n){return Object.keys(e).find((function(t){return e[t]===Number(n)}))}},r=Object.freeze({added:0,downloading:1,downloaded:2,installing:3,installed:4,starting:5,running:6,stopping:7,stopped:8,error:9,upgrading:10,restarting:11,corrupted:12,waiting:13,deleted:14}),o=t(r),i=a(r),l=Object.freeze({registry:0,local:1,upload:2,url:3,custom:4}),c=t(l),s=a(l),u=Object.freeze({static:"static",dapp:"dapp",starter:!1,gateway:"gateway"}),d=Object.freeze({added:"blocklet.added",downloadFailed:"blocklet.downloadFailed",installed:"blocklet.installed",installFailed:"blocklet.installFailed",upgraded:"blocklet.upgraded",downgraded:"blocklet.downgraded",deployed:"blocklet.deployed",updated:"blocklet.updated",statusChange:"blocklet.statusChange",removed:"blocklet.removed",started:"blocklet.started",startFailed:"blocklet.startFailed",stopped:"blocklet.stopped",reloaded:"blocklet.reloaded",purchaseChange:"blocklet.purchaseChange"}),p=["web","service","wellknown"],f=["publicUrl"],E=["publicUrl","wellknownUrl"],L=["tcp","udp","http"];e.exports=Object.freeze({BlockletStatus:r,fromBlockletStatus:o,toBlockletStatus:i,BlockletSource:l,fromBlockletSource:c,toBlockletSource:s,BlockletGroup:u,BLOCKLET_GROUPS:["dapp","static","gateway"],BlockletEvents:d,BLOCKLET_PLATFORMS:["aix","darwin","freebsd","linux","openbsd","sunos","win32"],BLOCKLET_ARCHITECTURES:["arm","arm64","ia32","mips","mipsel","ppc","ppc64","s390","s390x","x32","x64"],BLOCKLET_MODES:Object.freeze({PRODUCTION:"production",DEVELOPMENT:"development"}),BLOCKLET_FACTORY_SHARES:{developer:.7,store:.3},BLOCKLET_INTERFACE_PUBLIC:"publicUrl",BLOCKLET_INTERFACE_WELLKNOWN:"wellknownUrl",BLOCKLET_UI_INTERFACES:f,BLOCKLET_STANDARD_INTERFACES:E,BLOCKLET_INTERFACE_TYPE_WEB:"web",BLOCKLET_INTERFACE_TYPE_SERVICE:"service",BLOCKLET_INTERFACE_TYPE_WELLKNOWN:"wellknown",BLOCKLET_INTERFACE_TYPES:p,BLOCKLET_INTERFACE_PROTOCOL_HTTP:"http",BLOCKLET_INTERFACE_PROTOCOL_TCP:"tcp",BLOCKLET_INTERFACE_PROTOCOL_UDP:"udp",BLOCKLET_INTERFACE_PROTOCOLS:L,BLOCKLET_DYNAMIC_PATH_PREFIX:"*",BLOCKLET_DEFAULT_PORT_NAME:"BLOCKLET_PORT",BLOCKLET_DEFAULT_PATH_REWRITE:"/",BLOCKLET_RELEASE_FOLDER:".blocklet/release",BLOCKLET_RELEASE_FILE:"blocklet.json",BLOCKLET_BUNDLE_FOLDER:".blocklet/bundle",BLOCKLET_BUNDLE_FILE:"blocklet.zip",BLOCKLET_ENTRY_FILE:"blocklet.js",BLOCKLET_META_FILE:"blocklet.yml",BLOCKLET_META_FILE_ALT:"blocklet.yaml",BLOCKLET_META_FILE_OLD:"blocklet.json",BLOCKLET_DEFAULT_VERSION:"1.0.0",BLOCKLET_LATEST_SPEC_VERSION:"1.2.7",BLOCKLET_LATEST_REQUIREMENT_SERVER:">=1.7.0",BLOCKLET_LATEST_REQUIREMENT_ABTNODE:">=1.5.15",BLOCKLET_CONFIGURABLE_KEY:{BLOCKLET_CLUSTER_SIZE:"BLOCKLET_CLUSTER_SIZE",BLOCKLET_APP_NAME:"BLOCKLET_APP_NAME",BLOCKLET_APP_DESCRIPTION:"BLOCKLET_APP_DESCRIPTION",BLOCKLET_APP_SK:"BLOCKLET_APP_SK",BLOCKLET_APP_URL:"BLOCKLET_APP_URL",BLOCKLET_PASSPORT_COLOR:"BLOCKLET_PASSPORT_COLOR",BLOCKLET_WALLET_TYPE:"BLOCKLET_WALLET_TYPE",BLOCKLET_DELETABLE:"BLOCKLET_DELETABLE"}})},952:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=L;var a=function(e,n){if(!n&&e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=E(n);if(t&&t.has(e))return t.get(e);var a={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(a,o,i):a[o]=e[o]}a.default=e,t&&t.set(e,a);return a}(t(0)),r=f(t(48)),o=f(t(10)),i=f(t(130)),l=f(t(1029)),c=t(372),s=f(t(1030)),u=f(t(1031)),d=t(129),p=t(154);function f(e){return e&&e.__esModule?e:{default:e}}function E(e){if("function"!==typeof WeakMap)return null;var n=new WeakMap,t=new WeakMap;return(E=function(e){return e?t:n})(e)}function L(e){var n=e.SessionContext,t=e.webWalletUrl,r=e.extraItems,o=e.showLocale,f=e.showHelper,E=e.showSessionManager,L=e.sessionManagerProps,m=(0,a.useContext)(n).session,b=(0,a.useContext)(d.LocaleContext).locale,h=(0,c.useLocation)(),O=t||(0,p.getWebWalletUrl)(),T={"/dashboard":"/introduction/abtnode-overview","/store":"/marketplace","/blocklets":"/blocklet","/router/rules":"/router","/router/engine":"/router","/settings/basic":"/misc","/settings/team":"/misc/member-management","/console":"/misc/graphql-console"};return a.default.createElement(_,null,r.map((function(e){return e})),o&&a.default.createElement(u.default,{"data-cy":"locale-addon",size:23,showText:!1,className:"locale-addon"}),f&&a.default.createElement(i.default,{onClick:function(){var e=h.pathname,n="";e.indexOf("/blocklets")>-1?n=T["/blocklets"]:e.indexOf("/store")>-1?n=T["/store"]:T[e]&&(n=T[e]),window.open("https://docs.arcblock.io/abtnode/".concat(b).concat(n),"_blank")}},a.default.createElement(l.default,{style:{fontSize:28}})),E&&a.default.createElement(s.default,Object.assign({session:m,webWalletUrl:O,size:24,showRole:!0},L)))}L.propTypes={SessionContext:o.default.object.isRequired,webWalletUrl:o.default.string,extraItems:o.default.array,showLocale:o.default.bool,showSessionManager:o.default.bool,showHelper:o.default.bool,sessionManagerProps:o.default.object},L.defaultProps={webWalletUrl:"",extraItems:[],showLocale:!0,showSessionManager:!0,showHelper:!0,sessionManagerProps:{}};var _=r.default.div.withConfig({displayName:"addon__Div",componentId:"sc-5tyqcw-0"})(["display:flex;justify-content:center;align-items:center;.user-addon{.user-avatar{width:28px;border-radius:14px;height:auto;}}","{> button,> a{padding-left:8px;padding-right:8px;}}"],(function(e){return e.theme.breakpoints.down("md")}))}}]);
2
- //# sourceMappingURL=9.fb2b8a65.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/@mui/icons-material/PlayArrow.js","pages/start.js","../../../blocklet/meta/lib/util.js","../../../blocklet/meta/lib/constants.js","../../ux/lib/layout/addon.js"],"names":["_interopRequireDefault","require","Object","defineProperty","exports","value","default","_createSvgIcon","_jsxRuntime","_default","jsx","d","AppIcon","appInfo","rest","React","useState","error","setError","size","useMediaQuery","theme","breakpoints","down","did","publisher","src","icon","alt","title","width","height","onError","Start","t","useLocaleContext","blocklet","setBlocklet","loading","setLoading","starting","setStarting","isMobile","visitBlocklet","redirect","URL","window","location","href","searchParams","get","decodeURIComponent","useEffect","timer","checkStatus","api","then","data","status","clearInterval","catch","err","Toast","message","setInterval","WELLKNOWN_SERVICE_PATH_PREFIX","getDisplayName","appDid","Root","className","SessionContext","StyledPaper","elevation","AppInfo","name","mt","style","minWidth","disabled","variant","color","onClick","post","styled","div","props","Paper","palette","primary","main","common","white","grey","slugify","NODE_SERVICES","SLOT_FOR_IP_DNS_SITE","WHO_CAN_ACCESS","BlockletGroup","fromBlockletStatus","fromBlockletSource","BLOCKLET_INTERFACE_TYPE_WEB","forEachBlocklet","cb","parallel","sync","children","child","Promise","resolve","reject","tasks","push","all","forEachBlockletSync","findWebInterface","meta","interfaces","Array","isArray","find","x","type","findServiceFromMeta","ServiceName","names","AUTH","AUTH_SERVICE","webInterface","services","includes","module","isFreeBlocklet","payment","price","map","every","isComponentBlocklet","isDeletableBlocklet","config","environments","key","getRequiredMissingConfigs","missingConfigs","configs","forEach","item","required","description","some","y","wipeSensitiveData","secure","configObj","environmentObj","hasRunnableComponent","has","group","gateway","displayName","onlyUseMeta","target","e","fixBlockletStatus","source","undefined","settings","getWhoCanAccess","ALL","whoCanAccess","service","replaceSlotToIp","url","ip","replace","urlFriendly","fromEntry","entries","v","match","Number","toEntry","keys","BlockletStatus","freeze","added","downloading","downloaded","installing","installed","running","stopping","stopped","upgrading","restarting","corrupted","waiting","deleted","toBlockletStatus","BlockletSource","registry","local","upload","custom","toBlockletSource","static","dapp","starter","BlockletEvents","downloadFailed","installFailed","upgraded","downgraded","deployed","updated","statusChange","removed","started","startFailed","reloaded","purchaseChange","BLOCKLET_INTERFACE_TYPES","BLOCKLET_UI_INTERFACES","BLOCKLET_STANDARD_INTERFACES","BLOCKLET_INTERFACE_PROTOCOLS","BLOCKLET_GROUPS","BLOCKLET_PLATFORMS","BLOCKLET_ARCHITECTURES","BLOCKLET_MODES","PRODUCTION","DEVELOPMENT","BLOCKLET_FACTORY_SHARES","developer","store","BLOCKLET_INTERFACE_PUBLIC","BLOCKLET_INTERFACE_WELLKNOWN","BLOCKLET_INTERFACE_TYPE_SERVICE","BLOCKLET_INTERFACE_TYPE_WELLKNOWN","BLOCKLET_INTERFACE_PROTOCOL_HTTP","BLOCKLET_INTERFACE_PROTOCOL_TCP","BLOCKLET_INTERFACE_PROTOCOL_UDP","BLOCKLET_DYNAMIC_PATH_PREFIX","BLOCKLET_DEFAULT_PORT_NAME","BLOCKLET_DEFAULT_PATH_REWRITE","BLOCKLET_RELEASE_FOLDER","BLOCKLET_RELEASE_FILE","BLOCKLET_BUNDLE_FOLDER","BLOCKLET_BUNDLE_FILE","BLOCKLET_ENTRY_FILE","BLOCKLET_META_FILE","BLOCKLET_META_FILE_ALT","BLOCKLET_META_FILE_OLD","BLOCKLET_DEFAULT_VERSION","BLOCKLET_LATEST_SPEC_VERSION","BLOCKLET_LATEST_REQUIREMENT_SERVER","BLOCKLET_LATEST_REQUIREMENT_ABTNODE","BLOCKLET_CONFIGURABLE_KEY","BLOCKLET_CLUSTER_SIZE","BLOCKLET_APP_NAME","BLOCKLET_APP_DESCRIPTION","BLOCKLET_APP_SK","BLOCKLET_APP_URL","BLOCKLET_PASSPORT_COLOR","BLOCKLET_WALLET_TYPE","BLOCKLET_DELETABLE","HeaderAddon","_react","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_styledComponents","_propTypes","_IconButton","_HelpOutline","_reactRouterDom","_SessionManager","_selector","_context","_utils","WeakMap","cacheBabelInterop","cacheNodeInterop","_ref","webWalletUrl","extraItems","showLocale","showHelper","showSessionManager","sessionManagerProps","session","useContext","locale","LocaleContext","useLocation","walletUrl","getWebWalletUrl","docPaths","createElement","Div","showText","pathName","pathname","path","indexOf","open","concat","fontSize","assign","showRole","propTypes","object","isRequired","string","array","bool","defaultProps","withConfig","componentId"],"mappings":"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","file":"static/js/9.fb2b8a65.chunk.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 5v14l11-7z\"\n}), 'PlayArrow');\n\nexports.default = _default;","/* eslint-disable react/jsx-one-expression-per-line */\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport Box from '@mui/material/Box';\nimport PlayArrowIcon from '@mui/icons-material/PlayArrow';\nimport Paper from '@mui/material/Paper';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Toast from '@abtnode/ux/lib/toast';\nimport DidAvatar from '@arcblock/did-connect/lib/Avatar';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport Img from '@arcblock/ux/lib/Img';\nimport Center from '@arcblock/ux/lib/Center';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport ServerLogo from '@arcblock/icons/lib/ServerLogo';\n\nimport { getDisplayName } from '@blocklet/meta/lib/util';\nimport { WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';\nimport HeaderAddon from '@abtnode/ux/lib/layout/addon';\n\nimport api from '../libs/api';\nimport { SessionContext } from '../contexts/session';\n\nconst AppIcon = ({ appInfo, ...rest }) => {\n const [error, setError] = React.useState(false);\n const isMobile = useMediaQuery((theme) => theme.breakpoints.down('md'));\n const size = isMobile ? 32 : 48;\n\n if (error) {\n return <DidAvatar did={appInfo.publisher} size={size} />;\n }\n return (\n <Img src={appInfo.icon} alt={appInfo.title} width={size} height={size} {...rest} onError={() => setError(true)} />\n );\n};\n\nAppIcon.propTypes = {\n appInfo: PropTypes.object.isRequired,\n};\n\nexport default function Start() {\n const { t } = useLocaleContext();\n const [blocklet, setBlocklet] = useState(null);\n const [loading, setLoading] = useState(false);\n const [starting, setStarting] = useState(false);\n const isMobile = useMediaQuery((theme) => theme.breakpoints.down('md'));\n\n const visitBlocklet = () => {\n const url = new URL(window.location.href);\n const redirect = url.searchParams.get('redirect') || '/';\n window.location = decodeURIComponent(redirect);\n };\n\n useEffect(() => {\n let timer = null;\n\n const checkStatus = () => {\n api\n .get('/blocklet/detail')\n .then(({ data }) => {\n if (data.status === 'running') {\n visitBlocklet();\n return;\n }\n\n if (data.status !== 'starting') {\n setStarting(false);\n setBlocklet(data);\n clearInterval(timer);\n }\n })\n .catch((err) => {\n setLoading(false);\n Toast.error(err.message);\n });\n };\n\n setLoading(true);\n api\n .get('/blocklet/detail')\n .then(({ data }) => {\n setLoading(false);\n if (data.status === 'running') {\n visitBlocklet();\n return;\n }\n\n setBlocklet(data);\n\n if (data.status === 'starting') {\n setStarting(true);\n timer = setInterval(checkStatus, 3000);\n }\n })\n .catch((err) => {\n setLoading(false);\n Toast.error(err.message);\n });\n }, []);\n\n const startBlocklet = () => {\n setLoading(true);\n setStarting(true);\n api\n .post('/blocklet/start')\n .then(() => {\n visitBlocklet();\n })\n .catch((err) => {\n Toast.error(err.message);\n setLoading(false);\n setStarting(false);\n });\n };\n\n if (!blocklet) {\n return (\n <Center>\n <Spinner />\n </Center>\n );\n }\n\n const appInfo = {\n icon: `${WELLKNOWN_SERVICE_PATH_PREFIX}/blocklet/logo`,\n title: getDisplayName(blocklet),\n publisher: blocklet.appDid,\n };\n\n return (\n <Root>\n <header className=\"root-header\">\n {!isMobile && (\n <div className=\"left\">\n <ServerLogo width=\"128\" height=\"48\" />\n </div>\n )}\n <div className=\"right\">\n <HeaderAddon SessionContext={SessionContext} />\n </div>\n </header>\n\n <StyledPaper elevation={0}>\n <AppInfo>\n <AppIcon appInfo={appInfo} />\n <div className=\"app-info_content\">\n <Box className=\"app-info_name\">{appInfo.title}</Box>\n <DidAddress size={14} className=\"app-info_did\">\n {appInfo.publisher}\n </DidAddress>\n </div>\n </AppInfo>\n\n <Box className=\"title-box\">\n <Box className=\"icon\">\n <PlayArrowIcon />\n </Box>\n <Box className=\"title\">{t('blocklet.startApplication')}</Box>\n </Box>\n <Box className=\"sub-title\">{t('blocklet.startDescription', { name: getDisplayName(blocklet) })}</Box>\n\n <Box mt={8}>\n <Button\n style={{ minWidth: 200 }}\n disabled={loading || starting}\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n loading={starting}\n onClick={() => startBlocklet()}>\n {starting ? t('blocklet.starting') : t('blocklet.start')}\n </Button>\n </Box>\n </StyledPaper>\n </Root>\n );\n}\n\nconst Root = styled.div`\n width: 100vw;\n height: 100vh;\n background: #f6f8fa;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .root-header {\n position: fixed;\n z-index: 200;\n top: 0;\n display: flex;\n width: 100%;\n height: 68px;\n align-items: center;\n justify-content: flex-end;\n padding: 24px;\n\n ${(props) => props.theme.breakpoints.down('md')} {\n padding: 14px 16px;\n height: 56px;\n }\n\n .left {\n margin-top: 4px;\n margin-right: auto;\n ${(props) => props.theme.breakpoints.down('md')} {\n margin-top: 0%;\n }\n }\n\n .right {\n display: flex;\n align-items: center;\n ${(props) => props.theme.breakpoints.down('md')} {\n button,\n a {\n padding-left: 8px;\n padding-right: 8px;\n }\n }\n }\n }\n`;\n\nconst StyledPaper = styled(Paper)`\n width: 80vw;\n max-width: 1245px;\n height: 80vh;\n box-sizing: border-box;\n padding: 32px;\n &.MuiPaper-rounded {\n border-radius: 8px;\n }\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n ${(props) => props.theme.breakpoints.down('md')} {\n width: 100vw;\n height: 100vh;\n left: 0;\n top: 0;\n padding: 32px 0;\n }\n\n .MuiIconButton-root {\n svg {\n fill: #888;\n }\n &.Mui-disabled {\n opacity: 0.4;\n }\n }\n\n .title-box {\n display: flex;\n align-items: center;\n ${(props) => props.theme.breakpoints.down('md')} {\n margin-top: 60px;\n }\n }\n\n .icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 100%;\n background-color: ${(props) => props.theme.palette.primary.main};\n color: ${(props) => props.theme.palette.common.white};\n }\n\n .title {\n margin-left: 12px;\n color: ${(props) => props.theme.palette.primary.main};\n font-size: 24px;\n font-weight: bolder;\n }\n\n .sub-title {\n margin-top: 24px;\n color: ${(props) => props.theme.palette.grey[700]};\n font-size: 16px;\n }\n`;\n\nconst AppInfo = styled.div`\n display: flex;\n align-items: center;\n position: absolute;\n left: 24px;\n right: 24px;\n top: 24px;\n font-size: 16px;\n font-weight: 500;\n color: #222;\n\n /* 禁止 app icon shrink */\n > *:first-child {\n flex: 0 0 auto;\n }\n\n .app-info_content {\n padding-left: 16px;\n overflow: hidden;\n }\n\n .app-info_name {\n max-width: 100%;\n padding-right: 32px;\n line-height: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n }\n\n .app-info_did {\n transform: translate(0, 2px);\n }\n\n .app-info_did .did-address__text {\n color: #666;\n font-size: 14px;\n }\n\n ${(props) => props.theme.breakpoints.down('md')} {\n top: 12px;\n .app-info_did {\n transform: translate(0, 0);\n }\n .app-info_did .did-address__text {\n font-size: 12px;\n }\n }\n`;\n","/* eslint-disable no-await-in-loop */\nconst get = require('lodash/get');\nconst slugify = require('slugify');\n\nconst { NODE_SERVICES, SLOT_FOR_IP_DNS_SITE, WHO_CAN_ACCESS } = require('@abtnode/constant');\n\nconst { BlockletGroup, fromBlockletStatus, fromBlockletSource, BLOCKLET_INTERFACE_TYPE_WEB } = require('./constants');\n\nconst forEachBlocklet = (blocklet, cb, { parallel = false, sync } = {}) => {\n // sync\n if (sync) {\n cb(blocklet);\n if (blocklet.children) {\n for (const child of blocklet.children) {\n cb(child);\n }\n }\n return null;\n }\n\n // serial\n if (!parallel) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n await cb(blocklet);\n if (blocklet.children) {\n for (const child of blocklet.children) {\n await cb(child);\n }\n }\n\n resolve(null);\n } catch (err) {\n reject(err);\n }\n });\n }\n\n // parallel\n const tasks = [];\n tasks.push(cb(blocklet));\n if (blocklet.children) {\n for (const child of blocklet.children) {\n tasks.push(cb(child));\n }\n }\n return Promise.all(tasks);\n};\n\nconst forEachBlockletSync = (blocklet, cb) => forEachBlocklet(blocklet, cb, { sync: true });\n\nconst getRequiredMissingConfigs = (blocklet) => {\n const missingConfigs = [];\n const configs = blocklet.configs || [];\n configs.forEach((item) => {\n if (item.required && !item.value) {\n missingConfigs.push({ did: blocklet.meta.did, key: item.key, description: item.description });\n }\n });\n\n // eslint-disable-next-line no-restricted-syntax\n for (const child of blocklet.children || []) {\n const childConfigs = child.configs || [];\n // configProp does not exist in root blocklet config\n // or value of configProp in root blocklet config is empty.\n childConfigs.forEach((x) => {\n if (x.required && !x.value && !configs.some((y) => y.key === x.key && y.value)) {\n missingConfigs.push({ did: child.meta.did, key: x.key, description: x.description });\n }\n });\n }\n\n return missingConfigs;\n};\n\nconst isFreeBlocklet = (meta) => {\n if (!meta.payment) {\n return true;\n }\n\n const priceList = (meta.payment.price || []).map((x) => x.value || 0);\n return priceList.every((x) => x === 0);\n};\n\nconst isComponentBlocklet = (meta) => {\n return get(meta, 'capabilities.component') !== false;\n};\n\nconst wipeSensitiveData = (blocklet) => {\n if (!blocklet) {\n return blocklet;\n }\n\n forEachBlocklet(\n blocklet,\n (d) => {\n (d.configs || []).forEach((x) => {\n if (x.secure) {\n x.value = x.value ? '__encrypted__' : '';\n }\n });\n (d.environments || []).forEach((x) => {\n if (['BLOCKLET_APP_SK'].includes(x.key)) {\n x.value = '__encrypted__';\n }\n });\n\n delete blocklet.configObj;\n delete blocklet.environmentObj;\n },\n { sync: true }\n );\n\n return blocklet;\n};\n\nconst isDeletableBlocklet = (blocklet) => {\n if (!blocklet) {\n return false;\n }\n\n const config = blocklet.environments.find((x) => x.key === 'BLOCKLET_DELETABLE');\n if (!config) {\n return true;\n }\n\n return config.value === 'yes';\n};\n\nconst hasRunnableComponent = (blocklet) => {\n let has = false;\n forEachBlockletSync(blocklet, (x) => {\n if (x.meta.group !== BlockletGroup.gateway) {\n has = true;\n }\n });\n\n return has;\n};\n\n/**\n * 获取 blocklet 的 name\n * @param {Object} blocklet 应用数据\n * @param {Boolean} onlyUseMeta 优先使用应用元数据的name\n * @returns blocklet display name\n */\nconst getDisplayName = (blocklet, onlyUseMeta = false) => {\n const { meta } = blocklet;\n let displayName;\n\n if (!onlyUseMeta && blocklet.environments) {\n const target = blocklet.environments.find((e) => e.key === 'BLOCKLET_APP_NAME');\n if (target && target.value) {\n displayName = target.value;\n }\n }\n return displayName || meta.title || meta.name;\n};\n\nconst fixBlockletStatus = (blocklet) => {\n if (!blocklet) {\n return;\n }\n\n blocklet.status = fromBlockletStatus(blocklet.status);\n blocklet.source = fromBlockletSource(blocklet.source);\n (blocklet.children || []).forEach((child) => {\n child.status = fromBlockletStatus(child.status);\n if (child.source !== undefined) {\n child.source = fromBlockletSource(child.source);\n }\n });\n if (blocklet.settings) {\n (blocklet.settings.children || []).forEach((child) => {\n child.status = fromBlockletStatus(child.status);\n if (child.source !== undefined) {\n child.source = fromBlockletSource(child.source);\n }\n });\n }\n};\n\nconst findWebInterface = (blocklet) => {\n if (!blocklet) {\n return null;\n }\n\n const meta = blocklet.meta || blocklet || {};\n const { interfaces = [] } = meta;\n\n if (!Array.isArray(interfaces)) {\n return null;\n }\n\n return interfaces.find((x) => x.type === BLOCKLET_INTERFACE_TYPE_WEB);\n};\n\nconst findServiceFromMeta = (meta, ServiceName) => {\n const names = [ServiceName];\n\n // backward compatible\n if (ServiceName === NODE_SERVICES.AUTH) {\n names.push(NODE_SERVICES.AUTH_SERVICE);\n }\n\n const webInterface = findWebInterface(meta);\n\n if (!webInterface) {\n return null;\n }\n\n return (webInterface.services || []).find((x) => names.includes(x.name));\n};\n\nconst getWhoCanAccess = (blocklet) => {\n if (!blocklet) {\n return WHO_CAN_ACCESS.ALL;\n }\n\n if (get(blocklet, 'settings.whoCanAccess')) {\n return blocklet.settings.whoCanAccess;\n }\n\n const service = findServiceFromMeta(blocklet.meta, NODE_SERVICES.AUTH);\n if (get(service, 'config.whoCanAccess')) {\n return service.config.whoCanAccess;\n }\n\n return WHO_CAN_ACCESS.ALL;\n};\n\nconst replaceSlotToIp = (url, ip) => (url || '').replace(SLOT_FOR_IP_DNS_SITE, (ip || '').replace(/\\./g, '-'));\n\nconst urlFriendly = (name) => slugify(name.replace(/^[@./-]/, '').replace(/[@./_]/g, '-'));\n\nmodule.exports = {\n isFreeBlocklet,\n isComponentBlocklet,\n forEachBlockletSync,\n isDeletableBlocklet,\n forEachBlocklet,\n getRequiredMissingConfigs,\n wipeSensitiveData,\n hasRunnableComponent,\n getDisplayName,\n fixBlockletStatus,\n findWebInterface,\n findServiceFromMeta,\n getWhoCanAccess,\n replaceSlotToIp,\n urlFriendly,\n};\n","const fromEntry = (entries) => (v) => {\n const match = Object.entries(entries).find((x) => x[1] === Number(v));\n return match ? match[0] : 'unknown';\n};\n\nconst toEntry = (entries) => (v) => Object.keys(entries).find((x) => entries[x] === Number(v));\n\n// Blocklet Status\n\nconst BlockletStatus = Object.freeze({\n added: 0,\n downloading: 1,\n downloaded: 2, // Deprecated\n installing: 3,\n installed: 4,\n starting: 5,\n running: 6,\n stopping: 7,\n stopped: 8,\n error: 9,\n upgrading: 10,\n restarting: 11, // Deprecated\n corrupted: 12,\n waiting: 13,\n deleted: 14,\n});\n\nconst fromBlockletStatus = fromEntry(BlockletStatus);\nconst toBlockletStatus = toEntry(BlockletStatus);\n\n// Blocklet Source\n\nconst BlockletSource = Object.freeze({\n // Installed from Blocklet Store\n registry: 0,\n\n // Installed from local development source folder\n local: 1,\n\n // Installed from uploading bundle directly\n upload: 2,\n\n // Installed from a url (similar to Blocklet Store)\n url: 3,\n\n // Installed by custom creation\n custom: 4,\n});\n\nconst fromBlockletSource = fromEntry(BlockletSource);\nconst toBlockletSource = toEntry(BlockletSource);\n\n// Blocklet Group(Type)\n\nconst BlockletGroup = Object.freeze({\n // Only static website\n // The website is served by by Blocklet Server at runtime\n static: 'static',\n\n // The runtime instance is provided by its own backend server\n dapp: 'dapp',\n\n starter: false, // deprecated\n\n // This type is used to combine other component blocklets\n // No instance will be spawned at runtime\n gateway: 'gateway',\n});\n\nconst BLOCKLET_GROUPS = ['dapp', 'static', 'gateway'];\n\n// Blocklet Events\n\nconst BlockletEvents = Object.freeze({\n added: 'blocklet.added',\n downloadFailed: 'blocklet.downloadFailed',\n installed: 'blocklet.installed',\n installFailed: 'blocklet.installFailed',\n upgraded: 'blocklet.upgraded',\n downgraded: 'blocklet.downgraded',\n deployed: 'blocklet.deployed',\n updated: 'blocklet.updated',\n statusChange: 'blocklet.statusChange',\n removed: 'blocklet.removed',\n started: 'blocklet.started',\n startFailed: 'blocklet.startFailed',\n stopped: 'blocklet.stopped',\n reloaded: 'blocklet.reloaded', // Deprecated\n purchaseChange: 'blocklet.purchaseChange',\n});\n\n// Blocklet Interface\n\nconst BLOCKLET_INTERFACE_TYPE_WEB = 'web';\nconst BLOCKLET_INTERFACE_TYPE_SERVICE = 'service';\n\n// Wellknown interface declares an sub-interface under web interface\n// The path of the wellknown interface must starts with /.well-known, e.g. /.well-known/acme-challenge)\n// The wellknown interface can be mounted to every endpoint of the abtnode and all blocklets on the abtnode\nconst BLOCKLET_INTERFACE_TYPE_WELLKNOWN = 'wellknown';\nconst BLOCKLET_INTERFACE_TYPES = [\n BLOCKLET_INTERFACE_TYPE_WEB,\n BLOCKLET_INTERFACE_TYPE_SERVICE,\n BLOCKLET_INTERFACE_TYPE_WELLKNOWN,\n];\n\nconst BLOCKLET_INTERFACE_PUBLIC = 'publicUrl';\nconst BLOCKLET_INTERFACE_WELLKNOWN = 'wellknownUrl'; // Deprecated\nconst BLOCKLET_UI_INTERFACES = [BLOCKLET_INTERFACE_PUBLIC];\nconst BLOCKLET_STANDARD_INTERFACES = [BLOCKLET_INTERFACE_PUBLIC, BLOCKLET_INTERFACE_WELLKNOWN];\n\nconst BLOCKLET_INTERFACE_PROTOCOL_HTTP = 'http';\nconst BLOCKLET_INTERFACE_PROTOCOL_TCP = 'tcp';\nconst BLOCKLET_INTERFACE_PROTOCOL_UDP = 'udp';\nconst BLOCKLET_INTERFACE_PROTOCOLS = [\n BLOCKLET_INTERFACE_PROTOCOL_TCP,\n BLOCKLET_INTERFACE_PROTOCOL_UDP,\n BLOCKLET_INTERFACE_PROTOCOL_HTTP,\n];\n\nmodule.exports = Object.freeze({\n BlockletStatus,\n fromBlockletStatus,\n toBlockletStatus,\n\n BlockletSource,\n fromBlockletSource,\n toBlockletSource,\n\n BlockletGroup,\n BLOCKLET_GROUPS,\n\n BlockletEvents,\n\n BLOCKLET_PLATFORMS: ['aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos', 'win32'],\n BLOCKLET_ARCHITECTURES: ['arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64'],\n\n BLOCKLET_MODES: Object.freeze({\n PRODUCTION: 'production',\n DEVELOPMENT: 'development',\n }),\n\n BLOCKLET_FACTORY_SHARES: { developer: 0.7, store: 0.3 },\n\n // interface\n BLOCKLET_INTERFACE_PUBLIC,\n BLOCKLET_INTERFACE_WELLKNOWN, // Deprecated\n BLOCKLET_UI_INTERFACES,\n BLOCKLET_STANDARD_INTERFACES,\n\n BLOCKLET_INTERFACE_TYPE_WEB,\n BLOCKLET_INTERFACE_TYPE_SERVICE,\n BLOCKLET_INTERFACE_TYPE_WELLKNOWN,\n BLOCKLET_INTERFACE_TYPES,\n\n BLOCKLET_INTERFACE_PROTOCOL_HTTP,\n BLOCKLET_INTERFACE_PROTOCOL_TCP,\n BLOCKLET_INTERFACE_PROTOCOL_UDP,\n BLOCKLET_INTERFACE_PROTOCOLS,\n\n BLOCKLET_DYNAMIC_PATH_PREFIX: '*',\n BLOCKLET_DEFAULT_PORT_NAME: 'BLOCKLET_PORT',\n BLOCKLET_DEFAULT_PATH_REWRITE: '/',\n\n // bundle\n BLOCKLET_RELEASE_FOLDER: '.blocklet/release',\n BLOCKLET_RELEASE_FILE: 'blocklet.json',\n BLOCKLET_BUNDLE_FOLDER: '.blocklet/bundle',\n BLOCKLET_BUNDLE_FILE: 'blocklet.zip',\n BLOCKLET_ENTRY_FILE: 'blocklet.js',\n BLOCKLET_META_FILE: 'blocklet.yml',\n BLOCKLET_META_FILE_ALT: 'blocklet.yaml',\n BLOCKLET_META_FILE_OLD: 'blocklet.json',\n\n BLOCKLET_DEFAULT_VERSION: '1.0.0',\n\n BLOCKLET_LATEST_SPEC_VERSION: '1.2.7',\n BLOCKLET_LATEST_REQUIREMENT_SERVER: '>=1.7.0',\n BLOCKLET_LATEST_REQUIREMENT_ABTNODE: '>=1.5.15', // Deprecated\n\n BLOCKLET_CONFIGURABLE_KEY: {\n BLOCKLET_CLUSTER_SIZE: 'BLOCKLET_CLUSTER_SIZE',\n BLOCKLET_APP_NAME: 'BLOCKLET_APP_NAME',\n BLOCKLET_APP_DESCRIPTION: 'BLOCKLET_APP_DESCRIPTION',\n BLOCKLET_APP_SK: 'BLOCKLET_APP_SK',\n BLOCKLET_APP_URL: 'BLOCKLET_APP_URL',\n BLOCKLET_PASSPORT_COLOR: 'BLOCKLET_PASSPORT_COLOR',\n BLOCKLET_WALLET_TYPE: 'BLOCKLET_WALLET_TYPE',\n BLOCKLET_DELETABLE: 'BLOCKLET_DELETABLE',\n },\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HeaderAddon;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _styledComponents = _interopRequireDefault(require(\"styled-components\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\n\nvar _HelpOutline = _interopRequireDefault(require(\"@mui/icons-material/HelpOutline\"));\n\nvar _reactRouterDom = require(\"react-router-dom\");\n\nvar _SessionManager = _interopRequireDefault(require(\"@arcblock/did-connect/lib/SessionManager\"));\n\nvar _selector = _interopRequireDefault(require(\"@arcblock/ux/lib/Locale/selector\"));\n\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\n\nvar _utils = require(\"@arcblock/did-connect/lib/utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/* eslint-disable react/jsx-one-expression-per-line */\nfunction HeaderAddon(_ref) {\n let {\n SessionContext,\n webWalletUrl,\n extraItems,\n showLocale,\n showHelper,\n showSessionManager,\n sessionManagerProps\n } = _ref;\n const {\n session\n } = (0, _react.useContext)(SessionContext);\n const {\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const location = (0, _reactRouterDom.useLocation)();\n const walletUrl = webWalletUrl || (0, _utils.getWebWalletUrl)();\n const docPaths = {\n '/dashboard': '/introduction/abtnode-overview',\n '/store': '/marketplace',\n '/blocklets': '/blocklet',\n '/router/rules': '/router',\n '/router/engine': '/router',\n '/settings/basic': '/misc',\n '/settings/team': '/misc/member-management',\n '/console': '/misc/graphql-console'\n };\n\n const onHelpClick = () => {\n const pathName = location.pathname;\n let path = '';\n\n if (pathName.indexOf('/blocklets') > -1) {\n path = docPaths['/blocklets'];\n } else if (pathName.indexOf('/store') > -1) {\n path = docPaths['/store'];\n } else if (docPaths[pathName]) {\n path = docPaths[pathName];\n }\n\n window.open(\"https://docs.arcblock.io/abtnode/\".concat(locale).concat(path), '_blank');\n };\n\n return /*#__PURE__*/_react.default.createElement(Div, null, extraItems.map(x => x), showLocale && /*#__PURE__*/_react.default.createElement(_selector.default, {\n \"data-cy\": \"locale-addon\",\n size: 23,\n showText: false,\n className: \"locale-addon\"\n }), showHelper && /*#__PURE__*/_react.default.createElement(_IconButton.default, {\n onClick: onHelpClick\n }, /*#__PURE__*/_react.default.createElement(_HelpOutline.default, {\n style: {\n fontSize: 28\n }\n })), showSessionManager && /*#__PURE__*/_react.default.createElement(_SessionManager.default, Object.assign({\n session: session,\n webWalletUrl: walletUrl,\n size: 24,\n showRole: true\n }, sessionManagerProps)));\n}\n\nHeaderAddon.propTypes = {\n SessionContext: _propTypes.default.object.isRequired,\n webWalletUrl: _propTypes.default.string,\n extraItems: _propTypes.default.array,\n showLocale: _propTypes.default.bool,\n showSessionManager: _propTypes.default.bool,\n showHelper: _propTypes.default.bool,\n sessionManagerProps: _propTypes.default.object\n};\nHeaderAddon.defaultProps = {\n webWalletUrl: '',\n extraItems: [],\n showLocale: true,\n showSessionManager: true,\n showHelper: true,\n sessionManagerProps: {}\n};\n\nconst Div = _styledComponents.default.div.withConfig({\n displayName: \"addon__Div\",\n componentId: \"sc-5tyqcw-0\"\n})([\"display:flex;justify-content:center;align-items:center;.user-addon{.user-avatar{width:28px;border-radius:14px;height:auto;}}\", \"{> button,> a{padding-left:8px;padding-right:8px;}}\"], props => props.theme.breakpoints.down('md'));"],"sourceRoot":""}