@twreporter/universal-header 2.4.3-rc.3 → 2.4.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,27 @@
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
+ ## [2.4.3-rc.5](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.4.3-rc.4...@twreporter/universal-header@2.4.3-rc.5) (2023-03-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * add error handle for getChannelLink function ([cbda297](https://github.com/twreporter/twreporter-npm-packages/commit/cbda2974b2b9f54f9d3019aa150fad9bfef46774))
12
+ * decoupling CHANNEL_KEY and get channel link function ([c7856a1](https://github.com/twreporter/twreporter-npm-packages/commit/c7856a10811b9053577bcde36aeb73a69c007784))
13
+ * patch latest & topic on desktop channel ([56c9ca2](https://github.com/twreporter/twreporter-npm-packages/commit/56c9ca2c100a9131d0326b15ef5ab1c8b5c8a47f))
14
+
15
+
16
+
17
+
18
+
19
+ ## [2.4.3-rc.4](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.4.3-rc.3...@twreporter/universal-header@2.4.3-rc.4) (2023-03-09)
20
+
21
+ **Note:** Version bump only for package @twreporter/universal-header
22
+
23
+
24
+
25
+
26
+
6
27
  ## [2.4.3-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.4.3-rc.2...@twreporter/universal-header@2.4.3-rc.3) (2023-03-08)
7
28
 
8
29
  **Note:** Version bump only for package @twreporter/universal-header
@@ -17,6 +17,8 @@ var _headerContext = _interopRequireDefault(require("../contexts/header-context"
17
17
 
18
18
  var _links = require("../utils/links");
19
19
 
20
+ var _channels = require("../constants/channels");
21
+
20
22
  var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
21
23
 
22
24
  var _categorySet = require("@twreporter/core/lib/constants/category-set");
@@ -29,6 +31,10 @@ var _divider = _interopRequireDefault(require("@twreporter/react-components/lib/
29
31
 
30
32
  var _map = _interopRequireDefault(require("lodash/map"));
31
33
 
34
+ var _reduce = _interopRequireDefault(require("lodash/reduce"));
35
+
36
+ var _concat = _interopRequireDefault(require("lodash/concat"));
37
+
32
38
  var _excluded = ["onClickHambuger"];
33
39
 
34
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -42,7 +48,9 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
42
48
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
49
 
44
50
  var _ = {
45
- map: _map["default"]
51
+ map: _map["default"],
52
+ reduce: _reduce["default"],
53
+ concat: _concat["default"]
46
54
  };
47
55
 
48
56
  var Item = /*#__PURE__*/_styledComponents["default"].div.withConfig({
@@ -60,37 +68,75 @@ var ChannelContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig(
60
68
  componentId: "nu2llv-2"
61
69
  })(["display:flex;flex-direction:column;align-items:center;"]);
62
70
 
63
- var Channel = function Channel(_ref) {
64
- var onClickHambuger = _ref.onClickHambuger,
65
- props = _objectWithoutProperties(_ref, _excluded);
71
+ var ChannelItem = function ChannelItem(_ref) {
72
+ var _ref$link = _ref.link,
73
+ link = _ref$link === void 0 ? {} : _ref$link,
74
+ _ref$label = _ref.label,
75
+ label = _ref$label === void 0 ? '' : _ref$label;
66
76
 
67
77
  var _useContext = (0, _react.useContext)(_headerContext["default"]),
68
- isLinkExternal = _useContext.isLinkExternal,
69
- releaseBranch = _useContext.releaseBranch,
70
78
  theme = _useContext.theme;
71
79
 
72
- var CategoryJsx = _.map(_categorySet.CATEGORY_ORDER, function (categoryKey) {
73
- var label = _categorySet.CATEGORY_LABEL[categoryKey];
74
- var path = "/categories/".concat(categoryKey);
75
- var link = (0, _links.getCategoryLink)(isLinkExternal, releaseBranch, path);
76
- return /*#__PURE__*/_react["default"].createElement(Item, {
77
- key: categoryKey
78
- }, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], link, /*#__PURE__*/_react["default"].createElement(_button.TextButton, {
79
- text: label,
80
- size: "L",
81
- theme: theme
82
- })));
83
- });
80
+ return /*#__PURE__*/_react["default"].createElement(Item, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], link, /*#__PURE__*/_react["default"].createElement(_button.TextButton, {
81
+ text: label,
82
+ size: "L",
83
+ theme: theme
84
+ })));
85
+ };
86
+
87
+ ChannelItem.propTypes = {
88
+ link: _propTypes["default"].object,
89
+ label: _propTypes["default"].string
90
+ };
91
+
92
+ var Channel = function Channel(_ref2) {
93
+ var onClickHambuger = _ref2.onClickHambuger,
94
+ props = _objectWithoutProperties(_ref2, _excluded);
95
+
96
+ var _useContext2 = (0, _react.useContext)(_headerContext["default"]),
97
+ isLinkExternal = _useContext2.isLinkExternal,
98
+ releaseBranch = _useContext2.releaseBranch,
99
+ theme = _useContext2.theme;
84
100
 
85
101
  var hamburgerIcon = /*#__PURE__*/_react["default"].createElement(_icon.Hamburger, {
86
102
  releaseBranch: releaseBranch
87
103
  });
88
104
 
105
+ var ItemJSX = _.reduce(_channels.DESKTOP_CHANNEL_ORDER, function (res, channelKey) {
106
+ if (channelKey === _channels.CHANNEL_KEY.category) {
107
+ var categoryJSX = _.map(_categorySet.CATEGORY_ORDER, function (categoryKey) {
108
+ var label = _categorySet.CATEGORY_LABEL[categoryKey];
109
+ var path = "/categories/".concat(categoryKey);
110
+ var link = (0, _links.getLink)(isLinkExternal, releaseBranch, path);
111
+ return /*#__PURE__*/_react["default"].createElement(ChannelItem, {
112
+ key: categoryKey,
113
+ label: label,
114
+ link: link
115
+ });
116
+ });
117
+
118
+ res = _.concat(res, categoryJSX);
119
+ } else {
120
+ var label = _channels.CHANNEL_LABEL[channelKey];
121
+ var link = (0, _links.getLink)(isLinkExternal, releaseBranch, _channels.CHANNEL_PATH[channelKey]);
122
+
123
+ if (label && link) {
124
+ res.push( /*#__PURE__*/_react["default"].createElement(ChannelItem, {
125
+ key: channelKey,
126
+ label: label,
127
+ link: link
128
+ }));
129
+ }
130
+ }
131
+
132
+ return res;
133
+ }, []);
134
+
89
135
  return /*#__PURE__*/_react["default"].createElement(ChannelContainer, props, /*#__PURE__*/_react["default"].createElement(CategoryContainer, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
90
136
  iconComponent: hamburgerIcon,
91
137
  theme: theme,
92
138
  onClick: onClickHambuger
93
- }), CategoryJsx), /*#__PURE__*/_react["default"].createElement(_divider["default"], null));
139
+ }), ItemJSX), /*#__PURE__*/_react["default"].createElement(_divider["default"], null));
94
140
  };
95
141
 
96
142
  Channel.propTypes = {
@@ -177,7 +177,7 @@ var DropdownContent = function DropdownContent(_ref) {
177
177
  subItemJSX = _.map(_categorySet.CATEGORY_ORDER, function (catKey) {
178
178
  var label = _categorySet.CATEGORY_LABEL[catKey];
179
179
  var path = "/categories/".concat(catKey);
180
- var link = (0, _links.getCategoryLink)(isLinkExternal, releaseBranch, path);
180
+ var link = (0, _links.getLink)(isLinkExternal, releaseBranch, path);
181
181
 
182
182
  if (!label || !link) {
183
183
  return;
@@ -209,7 +209,7 @@ var DropdownContent = function DropdownContent(_ref) {
209
209
  path = subItem.path;
210
210
  }
211
211
 
212
- var link = (0, _links.getCategoryLink)(isLinkExternal, releaseBranch, path);
212
+ var link = (0, _links.getLink)(isLinkExternal, releaseBranch, path);
213
213
 
214
214
  if (!label || !link) {
215
215
  return;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.CHANNEL_ORDER = exports.CHANNEL_DROPDOWN = exports.CHANNEL_TYPE = exports.CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_LINK_TYPE = exports.CHANNEL_LABEL = exports.CHANNEL_PATH = exports.CHANNEL_KEY = void 0;
6
+ exports["default"] = exports.DESKTOP_CHANNEL_ORDER = exports.CHANNEL_ORDER = exports.CHANNEL_DROPDOWN = exports.CHANNEL_TYPE = exports.CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_LINK_TYPE = exports.CHANNEL_LABEL = exports.CHANNEL_PATH = exports.CHANNEL_KEY = void 0;
7
7
 
8
8
  var _infogram = require("@twreporter/core/lib/constants/infogram");
9
9
 
@@ -63,12 +63,15 @@ var CHANNEL_DROPDOWN = (_CHANNEL_DROPDOWN = {}, _defineProperty(_CHANNEL_DROPDOW
63
63
  exports.CHANNEL_DROPDOWN = CHANNEL_DROPDOWN;
64
64
  var CHANNEL_ORDER = [channelKey.latest, 'divider', channelKey.topic, channelKey.category, channelKey.opinion, channelKey.humanStory, 'divider', channelKey.photography, channelKey.podcast, channelKey.kidsReporter, channelKey.infographic, 'divider'];
65
65
  exports.CHANNEL_ORDER = CHANNEL_ORDER;
66
+ var DESKTOP_CHANNEL_ORDER = [channelKey.latest, channelKey.topic, channelKey.category];
67
+ exports.DESKTOP_CHANNEL_ORDER = DESKTOP_CHANNEL_ORDER;
66
68
  var _default = {
67
69
  CHANNEL_LINK_TYPE: CHANNEL_LINK_TYPE,
68
70
  CHANNEL_DROPDOWN_TYPE: CHANNEL_DROPDOWN_TYPE,
69
71
  CHANNEL_PATH: CHANNEL_PATH,
70
72
  CHANNEL_LABEL: CHANNEL_LABEL,
71
73
  CHANNEL_TYPE: CHANNEL_TYPE,
72
- CHANNEL_ORDER: CHANNEL_ORDER
74
+ CHANNEL_ORDER: CHANNEL_ORDER,
75
+ DESKTOP_CHANNEL_ORDER: DESKTOP_CHANNEL_ORDER
73
76
  };
74
77
  exports["default"] = _default;
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getLink = getLink;
6
7
  exports.getLogoutLink = getLogoutLink;
7
8
  exports.getLoginLink = getLoginLink;
8
9
  exports.getBookmarksLink = getBookmarksLink;
@@ -13,7 +14,7 @@ exports.getFooterLinks = getFooterLinks;
13
14
  exports.getSocialMediaLinks = getSocialMediaLinks;
14
15
  exports.getChannelLinks = getChannelLinks;
15
16
  exports.getTabBarLinks = getTabBarLinks;
16
- exports.getCategoryLink = exports.checkPathnameParent = exports.checkReferrer = void 0;
17
+ exports.checkPathnameParent = exports.checkReferrer = void 0;
17
18
 
18
19
  var _services = require("../constants/services");
19
20
 
@@ -126,14 +127,12 @@ var checkPathnameParent = function checkPathnameParent() {
126
127
 
127
128
  exports.checkPathnameParent = checkPathnameParent;
128
129
 
129
- var getCategoryLink = function getCategoryLink() {
130
+ function getLink() {
130
131
  var isExternal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultIsExternal;
131
132
  var releaseBranch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReleaseBranch;
132
133
  var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
133
134
  return __getLink(isExternal, releaseBranch, mainBaseURL, path);
134
- };
135
-
136
- exports.getCategoryLink = getCategoryLink;
135
+ }
137
136
 
138
137
  function getLogoutLink() {
139
138
  var releaseBranch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultReleaseBranch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/universal-header",
3
- "version": "2.4.3-rc.3",
3
+ "version": "2.4.3-rc.5",
4
4
  "description": "Universal header of TWReporter sites",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -21,7 +21,7 @@
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
23
  "@twreporter/core": "^1.8.3-rc.1",
24
- "@twreporter/react-components": "^8.17.0-rc.0",
24
+ "@twreporter/react-components": "^8.17.0-rc.1",
25
25
  "lodash": "^4.17.11",
26
26
  "prop-types": "^15.6.2",
27
27
  "querystring": "^0.2.0",
@@ -48,5 +48,5 @@
48
48
  "@storybook/testing-library": "^0.0.13",
49
49
  "babel-loader": "^8.2.5"
50
50
  },
51
- "gitHead": "3047acc88fedab0ebaf202df0901d2871b0644c2"
51
+ "gitHead": "0a652514023b94e39222028ac5ab1c6bd0f4a2c2"
52
52
  }