@twreporter/react-article-components 1.5.0-rc.2 → 1.5.0-rc.5
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.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,37 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.5.0-rc.5](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.5.0-rc.4...@twreporter/react-article-components@1.5.0-rc.5) (2022-07-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* fix tool bar defect ([afc4a56](https://github.com/twreporter/twreporter-npm-packages/commit/afc4a568c27c0614ff2bec460cb07813fbfdfe5a))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [1.5.0-rc.4](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.5.0-rc.3...@twreporter/react-article-components@1.5.0-rc.4) (2022-07-01)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* fix tool bar defect ([e66c4d7](https://github.com/twreporter/twreporter-npm-packages/commit/e66c4d7eeb87ca61f16f1dede8a191aaf2c8ed80))
|
|
23
|
+
* set snackbarText initial value as empty string ([e750c16](https://github.com/twreporter/twreporter-npm-packages/commit/e750c1636f26c837c6d96f8a7296e8e1c0ce7964))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# [1.5.0-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.5.0-rc.2...@twreporter/react-article-components@1.5.0-rc.3) (2022-06-30)
|
|
30
|
+
|
|
31
|
+
**Note:** Version bump only for package @twreporter/react-article-components
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
6
37
|
# [1.5.0-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.5.0-rc.1...@twreporter/react-article-components@1.5.0-rc.2) (2022-06-16)
|
|
7
38
|
|
|
8
39
|
|
|
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
17
|
|
|
18
|
+
var _reactScroll = require("react-scroll");
|
|
19
|
+
|
|
18
20
|
var _body = _interopRequireDefault(require("./body"));
|
|
19
21
|
|
|
20
22
|
var _desktopAside = _interopRequireDefault(require("./aside/desktop-aside"));
|
|
@@ -382,12 +384,14 @@ var Article = /*#__PURE__*/function (_PureComponent) {
|
|
|
382
384
|
key: _.get(post, 'slug', 'article-page-body-key'),
|
|
383
385
|
brief: _.get(post, 'brief.api_data'),
|
|
384
386
|
content: _.get(post, 'content.api_data')
|
|
385
|
-
})), metadataAndToolsJSX), /*#__PURE__*/_react["default"].createElement(_donationBox["default"], null), /*#__PURE__*/_react["default"].createElement(
|
|
387
|
+
})), metadataAndToolsJSX), /*#__PURE__*/_react["default"].createElement(_donationBox["default"], null), /*#__PURE__*/_react["default"].createElement(_reactScroll.Element, {
|
|
388
|
+
name: _anchor.relatedPostAnchor
|
|
389
|
+
}, /*#__PURE__*/_react["default"].createElement(_license["default"], {
|
|
386
390
|
license: post.copyright,
|
|
387
391
|
publishedDate: post.published_date,
|
|
388
392
|
id: _anchor.relatedPostAnchor // current scroll to releated post anchor
|
|
389
393
|
|
|
390
|
-
}), /*#__PURE__*/_react["default"].createElement(StyledSeparationCurve, null), /*#__PURE__*/_react["default"].createElement(RelatedBlock, null, /*#__PURE__*/_react["default"].createElement(_related["default"], {
|
|
394
|
+
})), /*#__PURE__*/_react["default"].createElement(StyledSeparationCurve, null), /*#__PURE__*/_react["default"].createElement(RelatedBlock, null, /*#__PURE__*/_react["default"].createElement(_related["default"], {
|
|
391
395
|
id: post.id,
|
|
392
396
|
data: relatedPosts,
|
|
393
397
|
hasMore: hasMoreRelateds,
|
|
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
15
15
|
|
|
16
|
+
var _reactScroll = require("react-scroll");
|
|
17
|
+
|
|
16
18
|
var _dynamicComponentsContext = _interopRequireDefault(require("../../contexts/dynamic-components-context"));
|
|
17
19
|
|
|
18
20
|
var _aside = _interopRequireDefault(require("../../constants/prop-types/aside"));
|
|
@@ -23,6 +25,8 @@ var _anchor = require("../../constants/anchor");
|
|
|
23
25
|
|
|
24
26
|
var _theme2 = require("./utils/theme");
|
|
25
27
|
|
|
28
|
+
var _hook = require("@twreporter/react-components/lib/hook");
|
|
29
|
+
|
|
26
30
|
var _bookmarkWidget = _interopRequireDefault(require("@twreporter/react-components/lib/bookmark-widget"));
|
|
27
31
|
|
|
28
32
|
var _icon = require("@twreporter/react-components/lib/icon");
|
|
@@ -77,14 +81,14 @@ var ShareContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
|
77
81
|
var OptionContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
78
82
|
displayName: "mobile-tool-bar__OptionContainer",
|
|
79
83
|
componentId: "do65sv-2"
|
|
80
|
-
})(["opacity:", ";transition:opacity 100ms;position:absolute;top:-55px;left:50%;transform:translateX(-50%);display:flex;"], function (props) {
|
|
84
|
+
})(["z-index:6;opacity:", ";transition:opacity 100ms;position:absolute;top:-55px;left:50%;transform:translateX(-50%);display:flex;"], function (props) {
|
|
81
85
|
return props.isShow ? '1' : '0';
|
|
82
86
|
});
|
|
83
87
|
|
|
84
88
|
var SnackBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
85
89
|
displayName: "mobile-tool-bar__SnackBarContainer",
|
|
86
90
|
componentId: "do65sv-3"
|
|
87
|
-
})(["opacity:", ";position:absolute;left:50%;transform:translateX(-50%);transition:opacity 100ms;"], function (props) {
|
|
91
|
+
})(["z-index:5;opacity:", ";position:absolute;left:50%;transform:translateX(-50%);transition:opacity 100ms;"], function (props) {
|
|
88
92
|
return props.showSnackBar ? '1' : '0';
|
|
89
93
|
});
|
|
90
94
|
|
|
@@ -105,23 +109,6 @@ var ToolBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig(
|
|
|
105
109
|
return props.hideText ? '46px' : '64px';
|
|
106
110
|
});
|
|
107
111
|
|
|
108
|
-
var useOutsideClick = function useOutsideClick(callback) {
|
|
109
|
-
var ref = (0, _react.useRef)();
|
|
110
|
-
(0, _react.useEffect)(function () {
|
|
111
|
-
var handleClick = function handleClick(event) {
|
|
112
|
-
if (ref.current && !ref.current.contains(event.target)) {
|
|
113
|
-
callback(event);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
document.addEventListener('click', handleClick);
|
|
118
|
-
return function () {
|
|
119
|
-
document.removeEventListener('click', handleClick);
|
|
120
|
-
};
|
|
121
|
-
}, [ref]);
|
|
122
|
-
return ref;
|
|
123
|
-
};
|
|
124
|
-
|
|
125
112
|
var FbShare = function FbShare(_ref) {
|
|
126
113
|
var appID = _ref.appID;
|
|
127
114
|
var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
|
|
@@ -288,7 +275,7 @@ var ShareBy = function ShareBy(_ref4) {
|
|
|
288
275
|
return setShowState(false);
|
|
289
276
|
};
|
|
290
277
|
|
|
291
|
-
var ref = useOutsideClick(onClickOutside);
|
|
278
|
+
var ref = (0, _hook.useOutsideClick)(onClickOutside);
|
|
292
279
|
return /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
293
280
|
ref: ref,
|
|
294
281
|
onClick: onButtonClick
|
|
@@ -341,6 +328,17 @@ FontLevel.propTypes = {
|
|
|
341
328
|
|
|
342
329
|
var BookmarkBlock = function BookmarkBlock(_ref6) {
|
|
343
330
|
var articleMeta = _ref6.articleMeta;
|
|
331
|
+
|
|
332
|
+
var _useState5 = (0, _react.useState)(false),
|
|
333
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
334
|
+
showSnackBar = _useState6[0],
|
|
335
|
+
setSnackBar = _useState6[1];
|
|
336
|
+
|
|
337
|
+
var _useState7 = (0, _react.useState)(''),
|
|
338
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
339
|
+
snackbarText = _useState8[0],
|
|
340
|
+
setSnackbarText = _useState8[1];
|
|
341
|
+
|
|
344
342
|
var hideText = (0, _react.useContext)(HideTextContext);
|
|
345
343
|
var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
|
|
346
344
|
var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
|
|
@@ -349,8 +347,17 @@ var BookmarkBlock = function BookmarkBlock(_ref6) {
|
|
|
349
347
|
var renderIcon = function renderIcon(isBookmarked, addAction, removeAction) {
|
|
350
348
|
var iconType = isBookmarked ? 'saved' : 'add';
|
|
351
349
|
var text = isBookmarked ? '已儲存' : '加入書籤';
|
|
350
|
+
|
|
351
|
+
var handleClick = function handleClick() {
|
|
352
|
+
var action = isBookmarked ? removeAction : addAction;
|
|
353
|
+
action();
|
|
354
|
+
setTimeout(function () {
|
|
355
|
+
toastr(isBookmarked);
|
|
356
|
+
}, 500);
|
|
357
|
+
};
|
|
358
|
+
|
|
352
359
|
return /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
353
|
-
onClick:
|
|
360
|
+
onClick: handleClick
|
|
354
361
|
}, /*#__PURE__*/_react["default"].createElement(_button.IconWithTextButton, {
|
|
355
362
|
text: text,
|
|
356
363
|
iconComponent: /*#__PURE__*/_react["default"].createElement(_icon.Bookmark, {
|
|
@@ -362,11 +369,24 @@ var BookmarkBlock = function BookmarkBlock(_ref6) {
|
|
|
362
369
|
}));
|
|
363
370
|
};
|
|
364
371
|
|
|
365
|
-
|
|
372
|
+
var toastr = function toastr(isBookmarked) {
|
|
373
|
+
setSnackbarText(isBookmarked ? '已取消書籤' : '已儲存');
|
|
374
|
+
setSnackBar(true);
|
|
375
|
+
setTimeout(function () {
|
|
376
|
+
setSnackBar(false);
|
|
377
|
+
}, 3000);
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_bookmarkWidget["default"], {
|
|
366
381
|
toAutoCheck: false,
|
|
367
382
|
articleMeta: articleMeta,
|
|
368
383
|
renderIcon: renderIcon
|
|
369
|
-
})
|
|
384
|
+
}), /*#__PURE__*/_react["default"].createElement(SnackBarContainer, {
|
|
385
|
+
showSnackBar: showSnackBar
|
|
386
|
+
}, /*#__PURE__*/_react["default"].createElement(_snackBar.SnackBar, {
|
|
387
|
+
text: snackbarText,
|
|
388
|
+
theme: theme
|
|
389
|
+
})));
|
|
370
390
|
};
|
|
371
391
|
|
|
372
392
|
BookmarkBlock.propTypes = {
|
|
@@ -384,7 +404,7 @@ var BackToTopic = function BackToTopic(_ref7) {
|
|
|
384
404
|
to: backToTopic,
|
|
385
405
|
target: "_self"
|
|
386
406
|
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, null, /*#__PURE__*/_react["default"].createElement(_button.IconWithTextButton, {
|
|
387
|
-
text: "\u5C08\u984C",
|
|
407
|
+
text: "\u524D\u5F80\u5C08\u984C",
|
|
388
408
|
iconComponent: /*#__PURE__*/_react["default"].createElement(_icon.Topic, {
|
|
389
409
|
releaseBranch: releaseBranch
|
|
390
410
|
}),
|
|
@@ -405,8 +425,9 @@ var RelatedPost = function RelatedPost() {
|
|
|
405
425
|
var releaseBranch = themeContext.releaseBranch;
|
|
406
426
|
|
|
407
427
|
var scrollToBottom = function scrollToBottom() {
|
|
408
|
-
|
|
409
|
-
|
|
428
|
+
_reactScroll.scroller.scrollTo(_anchor.relatedPostAnchor, {
|
|
429
|
+
duration: 800,
|
|
430
|
+
smooth: 'easeInOutQuint'
|
|
410
431
|
});
|
|
411
432
|
};
|
|
412
433
|
|
|
@@ -430,10 +451,10 @@ var ToolBar = function ToolBar(_ref8) {
|
|
|
430
451
|
onFontLevelChange = _ref8.onFontLevelChange,
|
|
431
452
|
className = _ref8.className;
|
|
432
453
|
|
|
433
|
-
var
|
|
434
|
-
|
|
435
|
-
scrollDirection =
|
|
436
|
-
setScrollDirection =
|
|
454
|
+
var _useState9 = (0, _react.useState)('init'),
|
|
455
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
456
|
+
scrollDirection = _useState10[0],
|
|
457
|
+
setScrollDirection = _useState10[1];
|
|
437
458
|
|
|
438
459
|
(0, _react.useEffect)(function () {
|
|
439
460
|
var threshold = 8;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/react-article-components",
|
|
3
|
-
"version": "1.5.0-rc.
|
|
3
|
+
"version": "1.5.0-rc.5",
|
|
4
4
|
"description": "The Reporter react article components, which are used in article page",
|
|
5
5
|
"main": "lib/components/article-page.js",
|
|
6
6
|
"repository": "https://github.com/twreporter/twreporter-npm-packages.git",
|
|
@@ -25,19 +25,20 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@twreporter/core": "^1.4.1",
|
|
28
|
-
"@twreporter/react-components": "^8.10.0-rc.
|
|
29
|
-
"@twreporter/redux": "^7.2.
|
|
30
|
-
"@twreporter/universal-header": "^2.2.10-rc.
|
|
28
|
+
"@twreporter/react-components": "^8.10.0-rc.4",
|
|
29
|
+
"@twreporter/redux": "^7.2.2-rc.0",
|
|
30
|
+
"@twreporter/universal-header": "^2.2.10-rc.4",
|
|
31
31
|
"howler": "^2.2.3",
|
|
32
32
|
"lodash": "^4.17.11",
|
|
33
33
|
"memoize-one": "^5.0.5",
|
|
34
34
|
"prop-types": "^15.0.0",
|
|
35
35
|
"react": "^16.3.0",
|
|
36
|
+
"react-scroll": "^1.8.7",
|
|
36
37
|
"react-waypoint": "^9.0.2",
|
|
37
38
|
"styled-components": "^4.0.0"
|
|
38
39
|
},
|
|
39
40
|
"files": [
|
|
40
41
|
"lib"
|
|
41
42
|
],
|
|
42
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "228b4ec5da6b28307b17b7ac8c7d79c836359d69"
|
|
43
44
|
}
|