@twreporter/react-article-components 1.7.2-rc.7 → 1.7.3-rc.10

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,116 @@
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.7.3-rc.10](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.9...@twreporter/react-article-components@1.7.3-rc.10) (2023-02-22)
7
+
8
+ **Note:** Version bump only for package @twreporter/react-article-components
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.7.3-rc.9](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.8...@twreporter/react-article-components@1.7.3-rc.9) (2023-02-20)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * fix subcategory path issue ([c17a761](https://github.com/twreporter/twreporter-npm-packages/commit/c17a761e5178fafce4fd49da17ea1232c2d69faa))
20
+
21
+
22
+
23
+
24
+
25
+ ## [1.7.3-rc.8](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.7...@twreporter/react-article-components@1.7.3-rc.8) (2023-02-20)
26
+
27
+ **Note:** Version bump only for package @twreporter/react-article-components
28
+
29
+
30
+
31
+
32
+
33
+ ## [1.7.3-rc.7](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.6...@twreporter/react-article-components@1.7.3-rc.7) (2023-02-18)
34
+
35
+ **Note:** Version bump only for package @twreporter/react-article-components
36
+
37
+
38
+
39
+
40
+
41
+ ## [1.7.3-rc.6](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.5...@twreporter/react-article-components@1.7.3-rc.6) (2023-02-18)
42
+
43
+ **Note:** Version bump only for package @twreporter/react-article-components
44
+
45
+
46
+
47
+
48
+
49
+ ## [1.7.3-rc.5](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.4...@twreporter/react-article-components@1.7.3-rc.5) (2023-02-16)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * fix category link issue & add error handling ([9bd5f76](https://github.com/twreporter/twreporter-npm-packages/commit/9bd5f76a8b37eff4c634c17dfde30cbe7ac6f1b9))
55
+
56
+
57
+
58
+
59
+
60
+ ## [1.7.3-rc.4](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.3...@twreporter/react-article-components@1.7.3-rc.4) (2023-02-13)
61
+
62
+
63
+ ### Bug Fixes
64
+
65
+ * abstract padding ([bdb104b](https://github.com/twreporter/twreporter-npm-packages/commit/bdb104ba374dd4210d3517c95edd5050274509f1))
66
+ * leverage theme constants to core ([a3d1604](https://github.com/twreporter/twreporter-npm-packages/commit/a3d1604286cb31881837661b2d85911ae0389eb9))
67
+ * replace color constant ([c4b4dcd](https://github.com/twreporter/twreporter-npm-packages/commit/c4b4dcdd3190105c13007201451f910053cf92f0))
68
+
69
+
70
+
71
+
72
+
73
+ ## [1.7.3-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.2...@twreporter/react-article-components@1.7.3-rc.3) (2023-02-10)
74
+
75
+
76
+ ### Bug Fixes
77
+
78
+ * fix rename issue ([c40427e](https://github.com/twreporter/twreporter-npm-packages/commit/c40427e6cd75cdf263e1f2d8fbd7be2cd6dc7a2b))
79
+
80
+
81
+
82
+
83
+
84
+ ## [1.7.3-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.1...@twreporter/react-article-components@1.7.3-rc.2) (2023-01-17)
85
+
86
+ **Note:** Version bump only for package @twreporter/react-article-components
87
+
88
+
89
+
90
+
91
+
92
+ ## [1.7.3-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.3-rc.0...@twreporter/react-article-components@1.7.3-rc.1) (2023-01-16)
93
+
94
+ **Note:** Version bump only for package @twreporter/react-article-components
95
+
96
+
97
+
98
+
99
+
100
+ ## [1.7.3-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.2...@twreporter/react-article-components@1.7.3-rc.0) (2023-01-12)
101
+
102
+ **Note:** Version bump only for package @twreporter/react-article-components
103
+
104
+
105
+
106
+
107
+
108
+ ## [1.7.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.2-rc.7...@twreporter/react-article-components@1.7.2) (2023-01-06)
109
+
110
+ **Note:** Version bump only for package @twreporter/react-article-components
111
+
112
+
113
+
114
+
115
+
6
116
  ## [1.7.2-rc.7](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.7.2-rc.6...@twreporter/react-article-components@1.7.2-rc.7) (2023-01-05)
7
117
 
8
118
  **Note:** Version bump only for package @twreporter/react-article-components
@@ -334,7 +334,7 @@ var Article = /*#__PURE__*/function (_PureComponent) {
334
334
  var metadataAndToolsJSX = /*#__PURE__*/_react["default"].createElement(MetadataAndToolsBlock, null, /*#__PURE__*/_react["default"].createElement(_metadata["default"], {
335
335
  categories: post.categories // TODO: remove when categorySet integration is done
336
336
  ,
337
- categorySet: post.categorySet,
337
+ categorySet: post.category_set,
338
338
  date: post.published_date,
339
339
  designers: post.designers,
340
340
  photographers: post.photographers,
@@ -369,7 +369,7 @@ var Article = /*#__PURE__*/function (_PureComponent) {
369
369
  backToTopic: backToTopic,
370
370
  categories: post.categories // TODO: remove when categorySet integration is done
371
371
  ,
372
- categorySet: post.categorySet,
372
+ categorySet: post.category_set,
373
373
  date: post.published_date,
374
374
  designers: post.designers,
375
375
  photographers: post.photographers,
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
15
 
14
16
  var _get = _interopRequireDefault(require("lodash/get"));
@@ -21,18 +23,22 @@ var _dynamicComponentsContext = _interopRequireDefault(require("../../contexts/d
21
23
 
22
24
  var _aside = _interopRequireDefault(require("../../constants/prop-types/aside"));
23
25
 
24
- var _theme = _interopRequireDefault(require("../../constants/theme"));
25
-
26
- var _color = _interopRequireDefault(require("../../constants/color"));
27
-
28
26
  var _typography = _interopRequireDefault(require("../../constants/typography"));
29
27
 
30
28
  var _category = require("../../constants/category");
31
29
 
32
30
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
33
31
 
32
+ var _theme = require("@twreporter/core/lib/constants/theme");
33
+
34
+ var _color = require("@twreporter/core/lib/constants/color");
35
+
36
+ var _categorySet = require("@twreporter/core/lib/constants/category-set");
37
+
34
38
  var _featureFlag = require("@twreporter/core/lib/constants/feature-flag");
35
39
 
40
+ var _link = _interopRequireDefault(require("@twreporter/react-components/lib/text/link"));
41
+
36
42
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
37
43
 
38
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -72,10 +78,10 @@ var _ = {
72
78
  };
73
79
 
74
80
  var createLine = function createLine(topOrBottom, themeName) {
75
- var borderColor = _color["default"].gray50;
81
+ var borderColor = _color.COLOR_ARTICLE.gray50;
76
82
 
77
- if (themeName === _theme["default"].article.v2.photo) {
78
- borderColor = _color["default"].gray10;
83
+ if (themeName === _theme.ARTICLE_THEME.v2.photo) {
84
+ borderColor = _color.COLOR_ARTICLE.gray10;
79
85
  }
80
86
 
81
87
  return (0, _styledComponents.css)(["position:relative;border-", ":0.5px solid ", ";padding-", ":10px;&::after{content:'';border-right:0.5px solid ", ";width:1px;height:12px;", ":0;right:0;position:absolute;}"], topOrBottom, borderColor, topOrBottom, borderColor, topOrBottom);
@@ -126,7 +132,7 @@ var DateSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
126
132
  componentId: "sc-1c3910m-6"
127
133
  })(["", " font-size:14px;color:", ";margin-left:5px;margin-top:15px;&::before{content:'\u520A\u51FA\u65E5\u671F';margin-right:10px;}"], function (props) {
128
134
  return createLine('top', props.theme.name);
129
- }, _color["default"].gray70);
135
+ }, _color.COLOR_ARTICLE.gray70);
130
136
 
131
137
  var AuthorSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
132
138
  displayName: "metadata__AuthorSection",
@@ -141,7 +147,7 @@ var AuthorRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
141
147
  var AuthorJobTitle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
142
148
  displayName: "metadata__AuthorJobTitle",
143
149
  componentId: "sc-1c3910m-9"
144
- })(["font-size:14px;color:", ";margin-left:5px;padding-top:2px;line-height:1;flex-shrink:0;"], _color["default"].gray80);
150
+ })(["font-size:14px;color:", ";margin-left:5px;padding-top:2px;line-height:1;flex-shrink:0;"], _color.COLOR_ARTICLE.gray80);
145
151
 
146
152
  var AuthorNames = /*#__PURE__*/_styledComponents["default"].div.withConfig({
147
153
  displayName: "metadata__AuthorNames",
@@ -156,7 +162,7 @@ var AuthorName = /*#__PURE__*/_styledComponents["default"].div.withConfig({
156
162
  var RawAuthorText = /*#__PURE__*/_styledComponents["default"].div.withConfig({
157
163
  displayName: "metadata__RawAuthorText",
158
164
  componentId: "sc-1c3910m-12"
159
- })(["font-size:14px;color:", ";padding-left:5px;"], _color["default"].gray80);
165
+ })(["font-size:14px;color:", ";padding-left:5px;"], _color.COLOR_ARTICLE.gray80);
160
166
 
161
167
  var AngledSeparationLine = /*#__PURE__*/_styledComponents["default"].div.withConfig({
162
168
  displayName: "metadata__AngledSeparationLine",
@@ -184,18 +190,52 @@ var MetadataContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig
184
190
 
185
191
  function getMetadataContainerStyles(themeName) {
186
192
  switch (themeName) {
187
- case _theme["default"].article.v2.photo:
188
- return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{color:", ";border-color:", ";}}"], CategoryText, AuthorName, _color["default"].milkTea, _color["default"].milkTea, AngledSeparationLine, _color["default"].brown, TagButton, _color["default"].gray80, _color["default"].gray80, _color["default"].white, _color["default"].white);
193
+ case _theme.ARTICLE_THEME.v2.photo:
194
+ return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{color:", ";border-color:", ";}}"], CategoryText, AuthorName, _color.COLOR_ARTICLE.milkTea, _color.COLOR_ARTICLE.milkTea, AngledSeparationLine, _color.COLOR_ARTICLE.brown, TagButton, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.white, _color.COLOR_ARTICLE.white);
189
195
 
190
- case _theme["default"].article.v2.pink:
191
- return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{background-color:", ";}}"], CategoryText, AuthorName, _color["default"].blue, _color["default"].blue, AngledSeparationLine, _color["default"].pink, TagButton, _color["default"].gray80, _color["default"].gray80, _color["default"].white);
196
+ case _theme.ARTICLE_THEME.v2.pink:
197
+ return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{background-color:", ";}}"], CategoryText, AuthorName, _color.COLOR_ARTICLE.blue, _color.COLOR_ARTICLE.blue, AngledSeparationLine, _color.COLOR_ARTICLE.pink, TagButton, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.white);
192
198
 
193
- case _theme["default"].article.v2["default"]:
199
+ case _theme.ARTICLE_THEME.v2["default"]:
194
200
  default:
195
- return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{background-color:", ";}}"], CategoryText, AuthorName, _color["default"].brown, _color["default"].brown, AngledSeparationLine, _color["default"].milkTea, TagButton, _color["default"].gray80, _color["default"].gray80, _color["default"].white);
201
+ return (0, _styledComponents.css)(["", ",", "{color:", ";&:hover{border-color:", ";}}", "{border-color:", ";}", "{border-color:", ";color:", ";&:hover{background-color:", ";}}"], CategoryText, AuthorName, _color.COLOR_ARTICLE.brown, _color.COLOR_ARTICLE.brown, AngledSeparationLine, _color.COLOR_ARTICLE.milkTea, TagButton, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.gray80, _color.COLOR_ARTICLE.white);
196
202
  }
197
203
  }
198
204
 
205
+ var CategorySet = function CategorySet(props) {
206
+ var themeContext = (0, _react.useContext)(_styledComponents.ThemeContext);
207
+
208
+ var categorySetJSX = _.map(props.categorySet, function (set, index) {
209
+ var _set$category, _set$subcategory, _set$category2, _set$subcategory2;
210
+
211
+ var genLink = function genLink(path, name) {
212
+ var isCategory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
213
+ return /*#__PURE__*/_react["default"].createElement(CategorySetFlex, {
214
+ isCategory: isCategory,
215
+ isTop: index === 0
216
+ }, /*#__PURE__*/_react["default"].createElement(_link["default"], {
217
+ path: path,
218
+ name: name,
219
+ theme: themeContext.name,
220
+ isBold: isCategory,
221
+ padding: '0 0 0 5px'
222
+ }));
223
+ };
224
+
225
+ var categoryPath = (0, _categorySet.GET_CATEGORY_PATH_FROM_ID)(set === null || set === void 0 ? void 0 : (_set$category = set.category) === null || _set$category === void 0 ? void 0 : _set$category.id);
226
+ var subcategoryPath = (0, _categorySet.GET_SUBCATEGORY_PATH_FROM_ID)(set === null || set === void 0 ? void 0 : (_set$subcategory = set.subcategory) === null || _set$subcategory === void 0 ? void 0 : _set$subcategory.id);
227
+ return categoryPath ? /*#__PURE__*/_react["default"].createElement(LinkContainer, {
228
+ key: "categorySet-".concat(index)
229
+ }, genLink("/categories/".concat(categoryPath), set === null || set === void 0 ? void 0 : (_set$category2 = set.category) === null || _set$category2 === void 0 ? void 0 : _set$category2.name, true), subcategoryPath && set !== null && set !== void 0 && (_set$subcategory2 = set.subcategory) !== null && _set$subcategory2 !== void 0 && _set$subcategory2.name ? genLink("/categories/".concat(categoryPath, "/").concat(subcategoryPath), set.subcategory.name) : genLink("/categories/".concat(categoryPath), '全部')) : null;
230
+ });
231
+
232
+ return /*#__PURE__*/_react["default"].createElement(CategorySetFlexBox, null, categorySetJSX);
233
+ };
234
+
235
+ CategorySet.propTypes = {
236
+ categorySet: _propTypes["default"].array
237
+ };
238
+
199
239
  var Metadata = /*#__PURE__*/function (_PureComponent) {
200
240
  _inherits(Metadata, _PureComponent);
201
241
 
@@ -237,36 +277,6 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
237
277
  return categoriesJSX;
238
278
  }));
239
279
  }
240
- }, {
241
- key: "renderCategorySetSection",
242
- value: function renderCategorySetSection() {
243
- var categorySet = this.props.categorySet;
244
- return /*#__PURE__*/_react["default"].createElement(CategorySetFlexBox, null, /*#__PURE__*/_react["default"].createElement(_dynamicComponentsContext["default"].Consumer, null, function (components) {
245
- var categorySetJSX = _.map(categorySet, function (set, index) {
246
- var _set$category, _set$category2, _set$subcategory, _set$subcategory2, _set$category3;
247
-
248
- var genLink = function genLink(path, name) {
249
- var isCategory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
250
- return /*#__PURE__*/_react["default"].createElement(CategorySetFlex, {
251
- isCategory: isCategory,
252
- isTop: index === 0
253
- }, path && name && /*#__PURE__*/_react["default"].createElement(components.Link, {
254
- to: path
255
- }, /*#__PURE__*/_react["default"].createElement(CategoryText, {
256
- style: {
257
- fontWeight: isCategory ? 'bold' : 'normal'
258
- }
259
- }, name)));
260
- };
261
-
262
- return /*#__PURE__*/_react["default"].createElement(LinkContainer, {
263
- key: "categorySet-".concat(index)
264
- }, genLink("/categories/".concat(set === null || set === void 0 ? void 0 : (_set$category = set.category) === null || _set$category === void 0 ? void 0 : _set$category.id), set === null || set === void 0 ? void 0 : (_set$category2 = set.category) === null || _set$category2 === void 0 ? void 0 : _set$category2.name, true), set !== null && set !== void 0 && (_set$subcategory = set.subcategory) !== null && _set$subcategory !== void 0 && _set$subcategory.id && set !== null && set !== void 0 && (_set$subcategory2 = set.subcategory) !== null && _set$subcategory2 !== void 0 && _set$subcategory2.name ? genLink("/tags/".concat(set.subcategory.id), set.subcategory.name) : genLink("/categories/".concat(set === null || set === void 0 ? void 0 : (_set$category3 = set.category) === null || _set$category3 === void 0 ? void 0 : _set$category3.id), '全部'));
265
- });
266
-
267
- return categorySetJSX;
268
- }));
269
- }
270
280
  }, {
271
281
  key: "renderTagsSection",
272
282
  value: function renderTagsSection() {
@@ -312,12 +322,17 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
312
322
  }, {
313
323
  key: "render",
314
324
  value: function render() {
315
- var date = this.props.date ? new Date(this.props.date).toLocaleString('zh-hant', {
325
+ var _this$props2 = this.props,
326
+ categorySet = _this$props2.categorySet,
327
+ date = _this$props2.date;
328
+ var dateStr = date ? new Date(date).toLocaleString('zh-hant', {
316
329
  year: 'numeric',
317
330
  month: 'numeric',
318
331
  day: 'numeric'
319
332
  }) : '';
320
- return /*#__PURE__*/_react["default"].createElement(MetadataContainer, null, _featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySetSection(), !_featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySection(), /*#__PURE__*/_react["default"].createElement(DateSection, null, date), this.renderAuthorsSection(), this.renderTagsSection());
333
+ return /*#__PURE__*/_react["default"].createElement(MetadataContainer, null, _featureFlag.ENABLE_NEW_INFO_ARCH && /*#__PURE__*/_react["default"].createElement(CategorySet, {
334
+ categorySet: categorySet
335
+ }), !_featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySection(), /*#__PURE__*/_react["default"].createElement(DateSection, null, dateStr), this.renderAuthorsSection(), this.renderTagsSection());
321
336
  }
322
337
  }]);
323
338
 
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
+ // TODO: remove this constant & use @twreporter/core/lib/constants/color
7
8
  var _default = {
8
9
  transparent: 'rgba(0, 0, 0, 0)',
9
10
  white: '#ffffff',
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
+ // TODO: remove this constant & use @twreporter/core/lib/constants/theme
7
8
  var _default = {
8
9
  article: {
9
10
  v2: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-article-components",
3
- "version": "1.7.2-rc.7",
3
+ "version": "1.7.3-rc.10",
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",
@@ -24,10 +24,10 @@
24
24
  "webpack-dev-server": "^3.7.2"
25
25
  },
26
26
  "dependencies": {
27
- "@twreporter/core": "^1.8.1-rc.2",
28
- "@twreporter/react-components": "^8.15.1-rc.7",
29
- "@twreporter/redux": "^7.4.2-rc.2",
30
- "@twreporter/universal-header": "^2.4.1-rc.7",
27
+ "@twreporter/core": "^1.8.2-rc.5",
28
+ "@twreporter/react-components": "^8.16.0-rc.5",
29
+ "@twreporter/redux": "^7.5.0-rc.7",
30
+ "@twreporter/universal-header": "^2.4.2-rc.9",
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": "3dd604d855017a4e0bcd317245b0e3d906535f12"
43
+ "gitHead": "21e925a3e04add9ec476764de15492d480c0b4fa"
44
44
  }