@twreporter/react-article-components 1.6.4-rc.3 → 1.6.4-rc.4

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,17 @@
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.6.4-rc.4](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.6.4-rc.3...@twreporter/react-article-components@1.6.4-rc.4) (2022-09-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * make `useSnackBar` headless ([ddaf3dd](https://github.com/twreporter/twreporter-npm-packages/commit/ddaf3ddbd44abba3684f9209fc1b9e8b4c678c15))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.6.4-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.6.4-rc.2...@twreporter/react-article-components@1.6.4-rc.3) (2022-08-25)
7
18
 
8
19
 
@@ -65,7 +65,7 @@ var _ = {
65
65
  isNil: _isNil["default"]
66
66
  }; // global var
67
67
 
68
- var HideTextContext = /*#__PURE__*/(0, _react.createContext)();
68
+ var ToolBarContext = /*#__PURE__*/(0, _react.createContext)();
69
69
  var defaultFbAppID = '962589903815787';
70
70
 
71
71
  var defaultFunc = function defaultFunc() {};
@@ -90,8 +90,8 @@ var OptionContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
90
90
  var SnackBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
91
91
  displayName: "mobile-tool-bar__SnackBarContainer",
92
92
  componentId: "do65sv-3"
93
- })(["z-index:5;opacity:", ";position:absolute;left:50%;transform:translateX(-50%);transition:opacity 100ms;"], function (props) {
94
- return props.showSnackBar ? '1' : '0';
93
+ })(["z-index:5;position:absolute;left:50%;transform:translateX(-50%);transition:opacity 100ms;opacity:", ";"], function (props) {
94
+ return props.showSnackBar ? 1 : 0;
95
95
  });
96
96
 
97
97
  var ToolBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
@@ -246,12 +246,10 @@ var ShareBy = function ShareBy(_ref4) {
246
246
  showOption = _useState2[0],
247
247
  setShowState = _useState2[1];
248
248
 
249
- var _useState3 = (0, _react.useState)(false),
250
- _useState4 = _slicedToArray(_useState3, 2),
251
- showSnackBar = _useState4[0],
252
- setSnackBar = _useState4[1];
249
+ var _useContext = (0, _react.useContext)(ToolBarContext),
250
+ hideText = _useContext.hideText,
251
+ toastr = _useContext.toastr;
253
252
 
254
- var hideText = (0, _react.useContext)(HideTextContext);
255
253
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
256
254
  var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
257
255
  var releaseBranch = themeContext.releaseBranch;
@@ -261,10 +259,10 @@ var ShareBy = function ShareBy(_ref4) {
261
259
  return;
262
260
  }
263
261
 
264
- setSnackBar(true);
265
- setTimeout(function () {
266
- setSnackBar(false);
267
- }, 3000);
262
+ toastr({
263
+ text: '已複製',
264
+ timeout: 3000
265
+ });
268
266
  };
269
267
 
270
268
  var onButtonClick = function onButtonClick() {
@@ -294,11 +292,6 @@ var ShareBy = function ShareBy(_ref4) {
294
292
  appID: fbAppID
295
293
  }), /*#__PURE__*/_react["default"].createElement(LineShare, null), /*#__PURE__*/_react["default"].createElement(TwitterShare, null), /*#__PURE__*/_react["default"].createElement(CopyUrl, {
296
294
  onclick: onCopyUrl
297
- })), /*#__PURE__*/_react["default"].createElement(SnackBarContainer, {
298
- showSnackBar: showSnackBar
299
- }, /*#__PURE__*/_react["default"].createElement(_snackBar.SnackBar, {
300
- text: "\u5DF2\u8907\u88FD",
301
- theme: theme
302
295
  })));
303
296
  };
304
297
 
@@ -308,7 +301,10 @@ ShareBy.propTypes = {
308
301
 
309
302
  var FontLevel = function FontLevel(_ref5) {
310
303
  var changeFontLevel = _ref5.changeFontLevel;
311
- var hideText = (0, _react.useContext)(HideTextContext);
304
+
305
+ var _useContext2 = (0, _react.useContext)(ToolBarContext),
306
+ hideText = _useContext2.hideText;
307
+
312
308
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
313
309
  var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
314
310
  var releaseBranch = themeContext.releaseBranch;
@@ -331,17 +327,10 @@ FontLevel.propTypes = {
331
327
  var BookmarkBlock = function BookmarkBlock(_ref6) {
332
328
  var articleMeta = _ref6.articleMeta;
333
329
 
334
- var _useState5 = (0, _react.useState)(false),
335
- _useState6 = _slicedToArray(_useState5, 2),
336
- showSnackBar = _useState6[0],
337
- setSnackBar = _useState6[1];
330
+ var _useContext3 = (0, _react.useContext)(ToolBarContext),
331
+ hideText = _useContext3.hideText,
332
+ toastr = _useContext3.toastr;
338
333
 
339
- var _useState7 = (0, _react.useState)(''),
340
- _useState8 = _slicedToArray(_useState7, 2),
341
- snackbarText = _useState8[0],
342
- setSnackbarText = _useState8[1];
343
-
344
- var hideText = (0, _react.useContext)(HideTextContext);
345
334
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
346
335
  var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
347
336
  var releaseBranch = themeContext.releaseBranch;
@@ -373,7 +362,7 @@ var BookmarkBlock = function BookmarkBlock(_ref6) {
373
362
  console.error('add bookmark fail', _context2.t0);
374
363
 
375
364
  case 9:
376
- toastr(isBookmarked);
365
+ onClickButton(isBookmarked);
377
366
 
378
367
  case 10:
379
368
  case "end":
@@ -402,24 +391,19 @@ var BookmarkBlock = function BookmarkBlock(_ref6) {
402
391
  }));
403
392
  };
404
393
 
405
- var toastr = function toastr(isBookmarked) {
406
- setSnackbarText(isBookmarked ? '已取消書籤' : '已儲存');
407
- setSnackBar(true);
408
- setTimeout(function () {
409
- setSnackBar(false);
410
- }, 3000);
394
+ var onClickButton = function onClickButton(isBookmarked) {
395
+ var text = isBookmarked ? '已取消書籤' : '已儲存';
396
+ toastr({
397
+ text: text,
398
+ timeout: 3000
399
+ });
411
400
  };
412
401
 
413
402
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_bookmarkWidget["default"], {
414
403
  toAutoCheck: false,
415
404
  articleMeta: articleMeta,
416
405
  renderIcon: renderIcon
417
- }), /*#__PURE__*/_react["default"].createElement(SnackBarContainer, {
418
- showSnackBar: showSnackBar
419
- }, /*#__PURE__*/_react["default"].createElement(_snackBar.SnackBar, {
420
- text: snackbarText,
421
- theme: theme
422
- })));
406
+ }));
423
407
  };
424
408
 
425
409
  BookmarkBlock.propTypes = {
@@ -428,7 +412,10 @@ BookmarkBlock.propTypes = {
428
412
 
429
413
  var BackToTopic = function BackToTopic(_ref8) {
430
414
  var backToTopic = _ref8.backToTopic;
431
- var hideText = (0, _react.useContext)(HideTextContext);
415
+
416
+ var _useContext4 = (0, _react.useContext)(ToolBarContext),
417
+ hideText = _useContext4.hideText;
418
+
432
419
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
433
420
  var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
434
421
  var releaseBranch = themeContext.releaseBranch;
@@ -452,7 +439,9 @@ BackToTopic.propTypes = {
452
439
  };
453
440
 
454
441
  var RelatedPost = function RelatedPost() {
455
- var hideText = (0, _react.useContext)(HideTextContext);
442
+ var _useContext5 = (0, _react.useContext)(ToolBarContext),
443
+ hideText = _useContext5.hideText;
444
+
456
445
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
457
446
  var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
458
447
  var releaseBranch = themeContext.releaseBranch;
@@ -479,10 +468,10 @@ var ToolBar = function ToolBar(_ref9) {
479
468
  onFontLevelChange = _ref9.onFontLevelChange,
480
469
  className = _ref9.className;
481
470
 
482
- var _useState9 = (0, _react.useState)('init'),
483
- _useState10 = _slicedToArray(_useState9, 2),
484
- scrollDirection = _useState10[0],
485
- setScrollDirection = _useState10[1];
471
+ var _useState3 = (0, _react.useState)('init'),
472
+ _useState4 = _slicedToArray(_useState3, 2),
473
+ scrollDirection = _useState4[0],
474
+ setScrollDirection = _useState4[1];
486
475
 
487
476
  (0, _react.useEffect)(function () {
488
477
  var threshold = 8;
@@ -523,17 +512,27 @@ var ToolBar = function ToolBar(_ref9) {
523
512
  };
524
513
  }, [scrollDirection]);
525
514
  var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
515
+ var theme = themeContext.name === _theme["default"].article.v2.photo ? 'photography' : 'normal';
526
516
 
527
517
  var _getToolBarTheme = (0, _theme2.getToolBarTheme)(themeContext.name),
528
518
  bgColor = _getToolBarTheme.bgColor,
529
519
  shadow = _getToolBarTheme.shadow;
530
520
 
521
+ var _useSnackBar = (0, _snackBar.useSnackBar)(),
522
+ showSnackBar = _useSnackBar.showSnackBar,
523
+ snackBarText = _useSnackBar.snackBarText,
524
+ toastr = _useSnackBar.toastr;
525
+
531
526
  var backToTopicJSX = backToTopic ? /*#__PURE__*/_react["default"].createElement(BackToTopic, {
532
527
  backToTopic: backToTopic
533
528
  }) : null;
534
529
  var hideText = scrollDirection === 'down';
535
- return /*#__PURE__*/_react["default"].createElement(HideTextContext.Provider, {
536
- value: hideText
530
+ var contextValue = {
531
+ hideText: hideText,
532
+ toastr: toastr
533
+ };
534
+ return /*#__PURE__*/_react["default"].createElement(ToolBarContext.Provider, {
535
+ value: contextValue
537
536
  }, /*#__PURE__*/_react["default"].createElement(ToolBarContainer, {
538
537
  bgColor: bgColor,
539
538
  shadow: shadow,
@@ -545,7 +544,12 @@ var ToolBar = function ToolBar(_ref9) {
545
544
  fbAppID: fbAppID
546
545
  }), /*#__PURE__*/_react["default"].createElement(BookmarkBlock, {
547
546
  articleMeta: articleMetaForBookmark
548
- }), /*#__PURE__*/_react["default"].createElement(RelatedPost, null), backToTopicJSX));
547
+ }), /*#__PURE__*/_react["default"].createElement(RelatedPost, null), backToTopicJSX, /*#__PURE__*/_react["default"].createElement(SnackBarContainer, {
548
+ showSnackBar: showSnackBar
549
+ }, /*#__PURE__*/_react["default"].createElement(_snackBar.SnackBar, {
550
+ text: snackBarText,
551
+ theme: theme
552
+ }))));
549
553
  };
550
554
 
551
555
  ToolBar.propTypes = _aside["default"].tools;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-article-components",
3
- "version": "1.6.4-rc.3",
3
+ "version": "1.6.4-rc.4",
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,9 +25,9 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@twreporter/core": "^1.6.0-rc.0",
28
- "@twreporter/react-components": "^8.12.1-rc.1",
28
+ "@twreporter/react-components": "^8.13.0-rc.0",
29
29
  "@twreporter/redux": "^7.3.0-rc.0",
30
- "@twreporter/universal-header": "^2.2.14-rc.1",
30
+ "@twreporter/universal-header": "^2.2.14-rc.2",
31
31
  "howler": "^2.2.3",
32
32
  "lodash": "^4.17.11",
33
33
  "memoize-one": "^5.0.5",
@@ -40,5 +40,5 @@
40
40
  "files": [
41
41
  "lib"
42
42
  ],
43
- "gitHead": "d106f6a077497c6df608a6699e44b05b80274069"
43
+ "gitHead": "a94c5e961dbe609191117cd9e67b0b5a6d883e31"
44
44
  }