@twreporter/react-article-components 1.7.3-rc.3 → 1.7.3-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,30 @@
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.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)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fix category link issue & add error handling ([9bd5f76](https://github.com/twreporter/twreporter-npm-packages/commit/9bd5f76a8b37eff4c634c17dfde30cbe7ac6f1b9))
12
+
13
+
14
+
15
+
16
+
17
+ ## [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)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * abstract padding ([bdb104b](https://github.com/twreporter/twreporter-npm-packages/commit/bdb104ba374dd4210d3517c95edd5050274509f1))
23
+ * leverage theme constants to core ([a3d1604](https://github.com/twreporter/twreporter-npm-packages/commit/a3d1604286cb31881837661b2d85911ae0389eb9))
24
+ * replace color constant ([c4b4dcd](https://github.com/twreporter/twreporter-npm-packages/commit/c4b4dcdd3190105c13007201451f910053cf92f0))
25
+
26
+
27
+
28
+
29
+
6
30
  ## [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)
7
31
 
8
32
 
@@ -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,51 @@ 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$category2, _set$subcategory, _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
+ return categoryPath ? /*#__PURE__*/_react["default"].createElement(LinkContainer, {
227
+ key: "categorySet-".concat(index)
228
+ }, 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), 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(categoryPath), '全部')) : null;
229
+ });
230
+
231
+ return /*#__PURE__*/_react["default"].createElement(CategorySetFlexBox, null, categorySetJSX);
232
+ };
233
+
234
+ CategorySet.propTypes = {
235
+ categorySet: _propTypes["default"].array
236
+ };
237
+
199
238
  var Metadata = /*#__PURE__*/function (_PureComponent) {
200
239
  _inherits(Metadata, _PureComponent);
201
240
 
@@ -237,36 +276,6 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
237
276
  return categoriesJSX;
238
277
  }));
239
278
  }
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
279
  }, {
271
280
  key: "renderTagsSection",
272
281
  value: function renderTagsSection() {
@@ -312,12 +321,17 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
312
321
  }, {
313
322
  key: "render",
314
323
  value: function render() {
315
- var date = this.props.date ? new Date(this.props.date).toLocaleString('zh-hant', {
324
+ var _this$props2 = this.props,
325
+ categorySet = _this$props2.categorySet,
326
+ date = _this$props2.date;
327
+ var dateStr = date ? new Date(date).toLocaleString('zh-hant', {
316
328
  year: 'numeric',
317
329
  month: 'numeric',
318
330
  day: 'numeric'
319
331
  }) : '';
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());
332
+ return /*#__PURE__*/_react["default"].createElement(MetadataContainer, null, _featureFlag.ENABLE_NEW_INFO_ARCH && /*#__PURE__*/_react["default"].createElement(CategorySet, {
333
+ categorySet: categorySet
334
+ }), !_featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySection(), /*#__PURE__*/_react["default"].createElement(DateSection, null, dateStr), this.renderAuthorsSection(), this.renderTagsSection());
321
335
  }
322
336
  }]);
323
337
 
@@ -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.3-rc.3",
3
+ "version": "1.7.3-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",
@@ -24,10 +24,10 @@
24
24
  "webpack-dev-server": "^3.7.2"
25
25
  },
26
26
  "dependencies": {
27
- "@twreporter/core": "^1.8.2-rc.0",
28
- "@twreporter/react-components": "^8.15.2-rc.2",
29
- "@twreporter/redux": "^7.5.0-rc.1",
30
- "@twreporter/universal-header": "^2.4.2-rc.2",
27
+ "@twreporter/core": "^1.8.2-rc.2",
28
+ "@twreporter/react-components": "^8.16.0-rc.1",
29
+ "@twreporter/redux": "^7.5.0-rc.3",
30
+ "@twreporter/universal-header": "^2.4.2-rc.4",
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": "c29f1ae7320dc7670c07f02bfd7c2bc9fd56f406"
43
+ "gitHead": "fb0222caf63c434282f2e9f76c6d9ebb5c5304da"
44
44
  }