@blocklet/launcher-workflow 2.1.58 → 2.1.60

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.
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = InProgressSession;
7
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
8
+ var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
9
+ var _launcherUtil = require("@blocklet/launcher-util");
10
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
+ var _Link = require("@mui/material/Link");
12
+ var _react = require("react");
13
+ var _useAsync = _interopRequireDefault(require("react-use/lib/useAsync"));
14
+ var _urlJoin = _interopRequireDefault(require("url-join"));
15
+ var _locale = require("../contexts/locale");
16
+ var _request = _interopRequireDefault(require("../contexts/request"));
17
+ var _workflow = require("../contexts/workflow");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ // 不考虑 localstorage 的过期时间
21
+ const IGNORE_LAUNCH_SESSION_KEY = 'launcher-ignore-launch-session';
22
+ function InProgressSession() {
23
+ var _state$value;
24
+ const {
25
+ t
26
+ } = (0, _locale.useLocaleContext)();
27
+ const {
28
+ create
29
+ } = (0, _request.default)();
30
+ const {
31
+ routerPrefix
32
+ } = (0, _workflow.useWorkflowContext)();
33
+ const [open, setOpen] = (0, _react.useState)(false);
34
+ const api = create();
35
+ const state = (0, _useAsync.default)(async () => {
36
+ const {
37
+ data
38
+ } = await api.get((0, _urlJoin.default)(routerPrefix, '/launches/in-progress'));
39
+ if (data.launch) {
40
+ if (localStorage.getItem(IGNORE_LAUNCH_SESSION_KEY) === data.launch._id) {
41
+ return null;
42
+ }
43
+ setOpen(true);
44
+ }
45
+ return data.launch;
46
+ });
47
+ if (state.loading || !state.value) {
48
+ return '';
49
+ }
50
+ if (state.error) {
51
+ console.error('load in progress session failed', state.error);
52
+ return '';
53
+ }
54
+ const handleClose = () => {
55
+ setOpen(false);
56
+ localStorage.setItem(IGNORE_LAUNCH_SESSION_KEY, state.value._id);
57
+ };
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
59
+ open: open,
60
+ showCloseButton: true,
61
+ PaperProps: {
62
+ style: {
63
+ maxWidth: 700,
64
+ minWidth: 400,
65
+ minHeight: 200
66
+ }
67
+ },
68
+ title: t('purchase.inProgress.title'),
69
+ onClose: () => handleClose(null),
70
+ actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
71
+ display: "flex",
72
+ gap: 2,
73
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
74
+ variant: "outlined",
75
+ size: "small",
76
+ onClick: handleClose,
77
+ children: t('purchase.inProgress.notRemind')
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
79
+ component: _Link.Link,
80
+ autoFocus: true,
81
+ variant: "contained",
82
+ color: "primary",
83
+ size: "small",
84
+ href: (0, _launcherUtil.getContinueLaunchURL)({
85
+ baseURL: window.location.origin,
86
+ launch: state.value
87
+ }),
88
+ children: t('purchase.inProgress.continue')
89
+ })]
90
+ }),
91
+ children: t('purchase.inProgress.content', {
92
+ blockletName: (_state$value = state.value) === null || _state$value === void 0 || (_state$value = _state$value.blockletMeta) === null || _state$value === void 0 ? void 0 : _state$value.title
93
+ })
94
+ });
95
+ }
package/lib/locales/en.js CHANGED
@@ -117,6 +117,12 @@ module.exports = {
117
117
  title: 'Purchase successfully',
118
118
  redirectToStoreButton: 'Go to install the application →',
119
119
  purchaseServerlessSuccess: 'The purchase of Running Space is successful and you can go ahead and install Blocklet.'
120
+ },
121
+ inProgress: {
122
+ title: 'Unfinished Order',
123
+ continue: 'Continue',
124
+ content: 'You have an incomplete order {blockletName}, Continue this order?',
125
+ notRemind: 'No more reminders'
120
126
  }
121
127
  },
122
128
  checkout: {
package/lib/locales/zh.js CHANGED
@@ -116,6 +116,12 @@ module.exports = {
116
116
  title: '购买成功',
117
117
  redirectToStoreButton: '去安装应用 →',
118
118
  purchaseServerlessSuccess: '购买运行空间成功,您可以去安装应用.'
119
+ },
120
+ inProgress: {
121
+ title: '未完成的订单',
122
+ continue: '继续',
123
+ content: '您有一个未完成的订单: {blockletName},继续该订单?',
124
+ notRemind: '不再提醒'
119
125
  }
120
126
  },
121
127
  checkout: {
package/lib/purchase.js CHANGED
@@ -15,16 +15,17 @@ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularPr
15
15
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
16
16
  var _reactSplide = require("@splidejs/react-splide");
17
17
  var _splideExtensionGrid = require("@splidejs/splide-extension-grid");
18
+ var _lodash = _interopRequireDefault(require("lodash.get"));
18
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
20
  var _react = _interopRequireWildcard(require("react"));
20
21
  var _reactRouterDom = require("react-router-dom");
21
22
  var _useMeasure = _interopRequireDefault(require("react-use/lib/useMeasure"));
22
23
  var _useSetState = _interopRequireDefault(require("react-use/lib/useSetState"));
23
24
  var _urlJoin = _interopRequireDefault(require("url-join"));
24
- var _lodash = _interopRequireDefault(require("lodash.get"));
25
25
  require("@splidejs/splide/dist/css/splide.min.css");
26
26
  var _launchResultMessage = _interopRequireDefault(require("@blocklet/launcher-layout/lib/launch-result-message"));
27
27
  var _formatError = _interopRequireDefault(require("@blocklet/launcher-util/lib/format-error"));
28
+ var _inProgressSession = _interopRequireDefault(require("./components/in-progress-session"));
28
29
  var _layout = _interopRequireDefault(require("./components/layout"));
29
30
  var _body = _interopRequireDefault(require("./components/layout/body"));
30
31
  var _footer = _interopRequireDefault(require("./components/layout/footer"));
@@ -513,7 +514,7 @@ function PurchasePage(_ref) {
513
514
  })
514
515
  })]
515
516
  })
516
- }), state.showRedeem && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
517
+ }), session.user && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inProgressSession.default, {}), state.showRedeem && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
517
518
  open: true,
518
519
  popup: true,
519
520
  useSocket: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/launcher-workflow",
3
- "version": "2.1.58",
3
+ "version": "2.1.60",
4
4
  "description": "Purchase components for Launcher UI",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -40,9 +40,9 @@
40
40
  "@arcblock/license": "^2.5.66",
41
41
  "@arcblock/react-hooks": "^2.5.66",
42
42
  "@arcblock/ux": "^2.5.66",
43
- "@blocklet/launcher-layout": "2.1.58",
44
- "@blocklet/launcher-util": "2.1.58",
45
- "@blocklet/launcher-ux": "2.1.58",
43
+ "@blocklet/launcher-layout": "2.1.60",
44
+ "@blocklet/launcher-util": "2.1.60",
45
+ "@blocklet/launcher-ux": "2.1.60",
46
46
  "@blocklet/payment": "^1.12.29",
47
47
  "@emotion/react": "^11.11.1",
48
48
  "@emotion/styled": "^11.11.0",
@@ -76,5 +76,5 @@
76
76
  "babel-plugin-inline-react-svg": "^2.0.2",
77
77
  "jest": "^27.5.1"
78
78
  },
79
- "gitHead": "6ca5c3cb3116700025424f95aceb7d85ef3e6814"
79
+ "gitHead": "890f1974f0f1f87d73680658d723c4d9ad0a39f5"
80
80
  }