@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 +21 -0
- package/lib/components/channels.js +65 -19
- package/lib/components/hamburger-menu.js +2 -2
- package/lib/constants/channels.js +5 -2
- package/lib/utils/links.js +4 -5
- package/package.json +3 -3
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
|
|
64
|
-
var
|
|
65
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
}),
|
|
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.
|
|
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.
|
|
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;
|
package/lib/utils/links.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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
|
+
"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.
|
|
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": "
|
|
51
|
+
"gitHead": "0a652514023b94e39222028ac5ab1c6bd0f4a2c2"
|
|
52
52
|
}
|