@twreporter/universal-header 3.2.3 → 3.3.0-rc.0
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.
|
@@ -11,8 +11,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
11
11
|
var _headerContext = _interopRequireWildcard(require("../contexts/header-context"));
|
|
12
12
|
var _links = require("../utils/links");
|
|
13
13
|
var _theme = require("../utils/theme");
|
|
14
|
-
var _channels =
|
|
15
|
-
var _channelsNew = _interopRequireDefault(require("../constants/channels-new"));
|
|
14
|
+
var _channels = require("../constants/channels");
|
|
16
15
|
var _hamburgerMenu = require("../constants/hamburger-menu");
|
|
17
16
|
var _actionButton = require("./action-button");
|
|
18
17
|
var _hamburgerMenuItem = require("./hamburger-menu-item");
|
|
@@ -27,20 +26,11 @@ var _input = require("@twreporter/react-components/lib/input");
|
|
|
27
26
|
var _categorySet = require("@twreporter/core/lib/constants/category-set");
|
|
28
27
|
var _theme2 = require("@twreporter/core/lib/constants/theme");
|
|
29
28
|
var _rwd = require("@twreporter/react-components/lib/rwd");
|
|
30
|
-
var _featureFlag = require("@twreporter/core/lib/constants/feature-flag");
|
|
31
29
|
var _hamburgerFooter = _interopRequireDefault(require("./hamburger-footer"));
|
|
32
30
|
var _map = _interopRequireDefault(require("lodash/map"));
|
|
33
31
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7; // context
|
|
34
32
|
// utils
|
|
35
33
|
// constants
|
|
36
|
-
// import {
|
|
37
|
-
// CHANNEL_KEY,
|
|
38
|
-
// CHANNEL_ORDER,
|
|
39
|
-
// CHANNEL_TYPE,
|
|
40
|
-
// CHANNEL_LABEL,
|
|
41
|
-
// CHANNEL_LINK_TYPE,
|
|
42
|
-
// CHANNEL_DROPDOWN,
|
|
43
|
-
// } from '../constants/channels'
|
|
44
34
|
// components
|
|
45
35
|
// @twreporter
|
|
46
36
|
// Footer
|
|
@@ -60,13 +50,6 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
|
60
50
|
var _ = {
|
|
61
51
|
map: _map["default"]
|
|
62
52
|
};
|
|
63
|
-
var _ref = _featureFlag.LAWMAKER ? _channelsNew["default"] : _channels["default"],
|
|
64
|
-
CHANNEL_KEY = _ref.CHANNEL_KEY,
|
|
65
|
-
CHANNEL_ORDER = _ref.CHANNEL_ORDER,
|
|
66
|
-
CHANNEL_TYPE = _ref.CHANNEL_TYPE,
|
|
67
|
-
CHANNEL_LABEL = _ref.CHANNEL_LABEL,
|
|
68
|
-
CHANNEL_LINK_TYPE = _ref.CHANNEL_LINK_TYPE,
|
|
69
|
-
CHANNEL_DROPDOWN = _ref.CHANNEL_DROPDOWN;
|
|
70
53
|
|
|
71
54
|
// global var
|
|
72
55
|
var reserveHeightForIos15 = 48;
|
|
@@ -132,17 +115,17 @@ var StyledMobileHamburgerAction = /*#__PURE__*/(0, _styledComponents["default"])
|
|
|
132
115
|
displayName: "hamburger-menu__StyledMobileHamburgerAction",
|
|
133
116
|
componentId: "sc-15rzowt-12"
|
|
134
117
|
})(["width:100%;"]);
|
|
135
|
-
var DropdownContent = function DropdownContent(
|
|
136
|
-
var itemKey =
|
|
137
|
-
isActive =
|
|
138
|
-
toggleFunc =
|
|
118
|
+
var DropdownContent = function DropdownContent(_ref) {
|
|
119
|
+
var itemKey = _ref.itemKey,
|
|
120
|
+
isActive = _ref.isActive,
|
|
121
|
+
toggleFunc = _ref.toggleFunc;
|
|
139
122
|
var _useContext = (0, _react.useContext)(_headerContext["default"]),
|
|
140
123
|
releaseBranch = _useContext.releaseBranch,
|
|
141
124
|
isLinkExternal = _useContext.isLinkExternal;
|
|
142
125
|
var _useContext2 = (0, _react.useContext)(_headerContext.HamburgerContext),
|
|
143
126
|
closeHamburgerMenu = _useContext2.closeHamburgerMenu;
|
|
144
127
|
var subItemJSX;
|
|
145
|
-
if (itemKey === CHANNEL_KEY.category) {
|
|
128
|
+
if (itemKey === _channels.CHANNEL_KEY.category) {
|
|
146
129
|
// category
|
|
147
130
|
subItemJSX = _.map(_categorySet.CATEGORY_ORDER, function (catKey) {
|
|
148
131
|
var label = _categorySet.CATEGORY_LABEL[catKey];
|
|
@@ -159,7 +142,7 @@ var DropdownContent = function DropdownContent(_ref2) {
|
|
|
159
142
|
});
|
|
160
143
|
} else {
|
|
161
144
|
// subcategory
|
|
162
|
-
subItemJSX = _.map(CHANNEL_DROPDOWN[itemKey], function (subItem, key) {
|
|
145
|
+
subItemJSX = _.map(_channels.CHANNEL_DROPDOWN[itemKey], function (subItem, key) {
|
|
163
146
|
var type = subItem.type;
|
|
164
147
|
var label, path;
|
|
165
148
|
if (type === 'subcategory') {
|
|
@@ -185,7 +168,7 @@ var DropdownContent = function DropdownContent(_ref2) {
|
|
|
185
168
|
});
|
|
186
169
|
});
|
|
187
170
|
}
|
|
188
|
-
var label = CHANNEL_LABEL[itemKey];
|
|
171
|
+
var label = _channels.CHANNEL_LABEL[itemKey];
|
|
189
172
|
var handleClick = function handleClick() {
|
|
190
173
|
return toggleFunc(itemKey);
|
|
191
174
|
};
|
|
@@ -218,17 +201,17 @@ var Content = function Content() {
|
|
|
218
201
|
activeKey = _useState2[0],
|
|
219
202
|
setActiveKey = _useState2[1];
|
|
220
203
|
var itemLinks = (0, _links.getChannelLinks)(isLinkExternal, releaseBranch);
|
|
221
|
-
var itemJSX = _.map(CHANNEL_ORDER, function (itemKey, index) {
|
|
204
|
+
var itemJSX = _.map(_channels.CHANNEL_ORDER, function (itemKey, index) {
|
|
222
205
|
// divider
|
|
223
206
|
if (itemKey === 'divider') {
|
|
224
207
|
return /*#__PURE__*/_react["default"].createElement(DividerContainer, {
|
|
225
208
|
key: index
|
|
226
209
|
}, /*#__PURE__*/_react["default"].createElement(_divider["default"], null));
|
|
227
210
|
}
|
|
228
|
-
var label = CHANNEL_LABEL[itemKey];
|
|
229
|
-
var type = CHANNEL_TYPE[itemKey];
|
|
211
|
+
var label = _channels.CHANNEL_LABEL[itemKey];
|
|
212
|
+
var type = _channels.CHANNEL_TYPE[itemKey];
|
|
230
213
|
// link type
|
|
231
|
-
if (type === CHANNEL_LINK_TYPE) {
|
|
214
|
+
if (type === _channels.CHANNEL_LINK_TYPE) {
|
|
232
215
|
var link = itemLinks && itemLinks[itemKey];
|
|
233
216
|
if (!label || !link) {
|
|
234
217
|
return;
|
|
@@ -255,8 +238,8 @@ var Content = function Content() {
|
|
|
255
238
|
});
|
|
256
239
|
return /*#__PURE__*/_react["default"].createElement(ContentSection, null, itemJSX);
|
|
257
240
|
};
|
|
258
|
-
var HamburgerMenu = function HamburgerMenu(
|
|
259
|
-
var props = _extends({}, (_objectDestructuringEmpty(
|
|
241
|
+
var HamburgerMenu = function HamburgerMenu(_ref2) {
|
|
242
|
+
var props = _extends({}, (_objectDestructuringEmpty(_ref2), _ref2));
|
|
260
243
|
var _useContext5 = (0, _react.useContext)(_headerContext["default"]),
|
|
261
244
|
theme = _useContext5.theme,
|
|
262
245
|
releaseBranch = _useContext5.releaseBranch,
|
|
@@ -21,18 +21,20 @@ var channelKey = {
|
|
|
21
21
|
photography: 'photography',
|
|
22
22
|
podcast: 'podcast',
|
|
23
23
|
kidsReporter: 'kids-reporter',
|
|
24
|
-
infographic: 'infographic'
|
|
24
|
+
infographic: 'infographic',
|
|
25
|
+
lawmaker: 'lawmaker',
|
|
26
|
+
academy: 'academy'
|
|
25
27
|
};
|
|
26
28
|
var CHANNEL_KEY = exports.CHANNEL_KEY = channelKey;
|
|
27
29
|
|
|
28
30
|
// external links are in external-links.js file
|
|
29
31
|
var CHANNEL_PATH = exports.CHANNEL_PATH = (_CHANNEL_PATH = {}, _defineProperty(_CHANNEL_PATH, channelKey.latest, '/latest'), _defineProperty(_CHANNEL_PATH, channelKey.topic, '/topics'), _defineProperty(_CHANNEL_PATH, channelKey.humanStory, '/tags/58db34a30f56b40d001ae6a6'), _defineProperty(_CHANNEL_PATH, channelKey.photography, '/photography'), _defineProperty(_CHANNEL_PATH, channelKey.infographic, "/tags/".concat(_infogram.INFOGRAM_ID)), _CHANNEL_PATH);
|
|
30
|
-
var CHANNEL_LABEL = exports.CHANNEL_LABEL = (_CHANNEL_LABEL = {}, _defineProperty(_CHANNEL_LABEL, channelKey.latest, '最新'), _defineProperty(_CHANNEL_LABEL, channelKey.topic, '深度專題'), _defineProperty(_CHANNEL_LABEL, channelKey.category, '議題'), _defineProperty(_CHANNEL_LABEL, channelKey.opinion, '評論'), _defineProperty(_CHANNEL_LABEL, channelKey.column, '專欄'), _defineProperty(_CHANNEL_LABEL, channelKey.humanStory, '人物故事'), _defineProperty(_CHANNEL_LABEL, channelKey.photography, '影像'), _defineProperty(_CHANNEL_LABEL, channelKey.podcast, 'Podcast'), _defineProperty(_CHANNEL_LABEL, channelKey.kidsReporter, '少年報導者'), _defineProperty(_CHANNEL_LABEL, channelKey.infographic, '數位敘事'), _CHANNEL_LABEL);
|
|
32
|
+
var CHANNEL_LABEL = exports.CHANNEL_LABEL = (_CHANNEL_LABEL = {}, _defineProperty(_CHANNEL_LABEL, channelKey.latest, '最新'), _defineProperty(_CHANNEL_LABEL, channelKey.topic, '深度專題'), _defineProperty(_CHANNEL_LABEL, channelKey.category, '議題'), _defineProperty(_CHANNEL_LABEL, channelKey.opinion, '評論'), _defineProperty(_CHANNEL_LABEL, channelKey.column, '專欄'), _defineProperty(_CHANNEL_LABEL, channelKey.humanStory, '人物故事'), _defineProperty(_CHANNEL_LABEL, channelKey.photography, '影像'), _defineProperty(_CHANNEL_LABEL, channelKey.podcast, 'Podcast'), _defineProperty(_CHANNEL_LABEL, channelKey.kidsReporter, '少年報導者'), _defineProperty(_CHANNEL_LABEL, channelKey.infographic, '數位敘事'), _defineProperty(_CHANNEL_LABEL, channelKey.lawmaker, '報導者觀測站'), _defineProperty(_CHANNEL_LABEL, channelKey.academy, '報導者學院'), _CHANNEL_LABEL);
|
|
31
33
|
var channelLinkType = 'link';
|
|
32
34
|
var channelDropDownType = 'drop-down';
|
|
33
35
|
var CHANNEL_LINK_TYPE = exports.CHANNEL_LINK_TYPE = channelLinkType;
|
|
34
36
|
var CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_DROPDOWN_TYPE = channelDropDownType;
|
|
35
|
-
var CHANNEL_TYPE = exports.CHANNEL_TYPE = (_CHANNEL_TYPE = {}, _defineProperty(_CHANNEL_TYPE, channelKey.latest, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.topic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.category, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.opinion, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.column, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.humanStory, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.photography, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.podcast, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.kidsReporter, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.infographic, channelLinkType), _CHANNEL_TYPE);
|
|
37
|
+
var CHANNEL_TYPE = exports.CHANNEL_TYPE = (_CHANNEL_TYPE = {}, _defineProperty(_CHANNEL_TYPE, channelKey.latest, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.topic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.category, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.opinion, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.column, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.humanStory, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.photography, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.podcast, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.kidsReporter, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.infographic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.lawmaker, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.academy, channelLinkType), _CHANNEL_TYPE);
|
|
36
38
|
var CHANNEL_DROPDOWN = exports.CHANNEL_DROPDOWN = (_CHANNEL_DROPDOWN = {}, _defineProperty(_CHANNEL_DROPDOWN, channelKey.opinion, [{
|
|
37
39
|
type: 'subcategory',
|
|
38
40
|
key: _categorySet.SUBCATEGORY_PATH.bookReview
|
|
@@ -53,7 +55,7 @@ var CHANNEL_DROPDOWN = exports.CHANNEL_DROPDOWN = (_CHANNEL_DROPDOWN = {}, _defi
|
|
|
53
55
|
type: 'subcategory',
|
|
54
56
|
key: _categorySet.SUBCATEGORY_PATH.onTheGround
|
|
55
57
|
}]), _CHANNEL_DROPDOWN);
|
|
56
|
-
var CHANNEL_ORDER = exports.CHANNEL_ORDER = [channelKey.latest, 'divider', channelKey.topic, channelKey.category, channelKey.opinion, channelKey.humanStory, 'divider', channelKey.photography, channelKey.podcast, channelKey.kidsReporter, channelKey.infographic, 'divider'];
|
|
58
|
+
var CHANNEL_ORDER = exports.CHANNEL_ORDER = [channelKey.latest, 'divider', channelKey.topic, channelKey.category, channelKey.opinion, channelKey.humanStory, 'divider', channelKey.photography, channelKey.podcast, channelKey.kidsReporter, channelKey.academy, channelKey.lawmaker, channelKey.infographic, 'divider'];
|
|
57
59
|
var DESKTOP_CHANNEL_ORDER = exports.DESKTOP_CHANNEL_ORDER = [channelKey.latest, channelKey.topic, channelKey.category];
|
|
58
60
|
var _default = exports["default"] = {
|
|
59
61
|
CHANNEL_LINK_TYPE: CHANNEL_LINK_TYPE,
|
|
@@ -16,6 +16,7 @@ var links = {
|
|
|
16
16
|
youtube: 'https://www.youtube.com/c/TwreporterOrg',
|
|
17
17
|
kidsReporter: 'https://kids.twreporter.org/',
|
|
18
18
|
publicationAndMerchandise: 'https://twreporter.waca.ec/',
|
|
19
|
-
lawmaker: 'https://lawmaker.twreporter.org/'
|
|
19
|
+
lawmaker: 'https://lawmaker.twreporter.org/',
|
|
20
|
+
academy: 'https://academy.twreporter.org/'
|
|
20
21
|
};
|
|
21
22
|
var _default = exports["default"] = links;
|
package/lib/utils/links.js
CHANGED
|
@@ -20,12 +20,10 @@ exports.getTabBarLinks = getTabBarLinks;
|
|
|
20
20
|
var _actions = require("../constants/actions");
|
|
21
21
|
var _footer = require("../constants/footer");
|
|
22
22
|
var _socialMedia = require("../constants/social-media");
|
|
23
|
-
var _channels =
|
|
24
|
-
var _channelsNew = _interopRequireDefault(require("../constants/channels-new"));
|
|
23
|
+
var _channels = require("../constants/channels");
|
|
25
24
|
var _externalLinks = _interopRequireDefault(require("../constants/external-links"));
|
|
26
25
|
var _requestOrigins = _interopRequireDefault(require("@twreporter/core/lib/constants/request-origins"));
|
|
27
26
|
var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
|
|
28
|
-
var _featureFlag = require("@twreporter/core/lib/constants/feature-flag");
|
|
29
27
|
var _forEach = _interopRequireDefault(require("lodash/forEach"));
|
|
30
28
|
var _reduce = _interopRequireDefault(require("lodash/reduce"));
|
|
31
29
|
var _split = _interopRequireDefault(require("lodash/split"));
|
|
@@ -34,8 +32,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
34
32
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
35
33
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
36
34
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
37
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } //
|
|
38
|
-
// @twreporter
|
|
35
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // @twreporter
|
|
39
36
|
// lodash
|
|
40
37
|
var _ = {
|
|
41
38
|
forEach: _forEach["default"],
|
|
@@ -43,9 +40,6 @@ var _ = {
|
|
|
43
40
|
split: _split["default"],
|
|
44
41
|
indexOf: _indexOf["default"]
|
|
45
42
|
};
|
|
46
|
-
var _ref = _featureFlag.LAWMAKER ? _channelsNew["default"] : _channels["default"],
|
|
47
|
-
CHANNEL_KEY = _ref.CHANNEL_KEY,
|
|
48
|
-
CHANNEL_PATH = _ref.CHANNEL_PATH;
|
|
49
43
|
var originsForClient = _requestOrigins["default"].forClientSideRendering;
|
|
50
44
|
|
|
51
45
|
/**
|
|
@@ -146,16 +140,16 @@ function getLogoLink() {
|
|
|
146
140
|
return __getLink(isExternal, releaseBranch, mainBaseURL, '');
|
|
147
141
|
}
|
|
148
142
|
function getActionLinks() {
|
|
149
|
-
var
|
|
143
|
+
var _ref;
|
|
150
144
|
var isExternal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultIsExternal;
|
|
151
145
|
var releaseBranch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReleaseBranch;
|
|
152
|
-
return
|
|
146
|
+
return _ref = {}, _defineProperty(_ref, _actions.ACTION_KEY.support, __composeExternalLink(__getExternalLinks().monthlyDonation)), _defineProperty(_ref, _actions.ACTION_KEY.newsLetter, __getLink(isExternal, releaseBranch, mainBaseURL, '/account/email-subscription')), _ref;
|
|
153
147
|
}
|
|
154
148
|
function getFooterLinks() {
|
|
155
|
-
var
|
|
149
|
+
var _ref2;
|
|
156
150
|
var isExternal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultIsExternal;
|
|
157
151
|
var releaseBranch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReleaseBranch;
|
|
158
|
-
return
|
|
152
|
+
return _ref2 = {}, _defineProperty(_ref2, _footer.FOOTER_KEY.foundation, __getLink(isExternal, releaseBranch, mainBaseURL, _footer.FOOTER_PATH[_footer.FOOTER_KEY.foundation])), _defineProperty(_ref2, _footer.FOOTER_KEY.aboutUs, __getLink(true, releaseBranch, mainBaseURL, _footer.FOOTER_PATH[_footer.FOOTER_KEY.aboutUs], '_blank')), _defineProperty(_ref2, _footer.FOOTER_KEY.influenceReport, __getLink(isExternal, releaseBranch, mainBaseURL, _footer.FOOTER_PATH[_footer.FOOTER_KEY.influenceReport])), _defineProperty(_ref2, _footer.FOOTER_KEY.openLab, __composeExternalLink(__getExternalLinks().openLab, '_blank')), _defineProperty(_ref2, _footer.FOOTER_KEY.publicationAndMerchandise, __composeExternalLink(__getExternalLinks().publicationAndMerchandise, '_blank')), _ref2;
|
|
159
153
|
}
|
|
160
154
|
function getMemberLinks() {
|
|
161
155
|
var isExternal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultIsExternal;
|
|
@@ -178,15 +172,14 @@ function getSocialMediaLinks() {
|
|
|
178
172
|
function getChannelLinks() {
|
|
179
173
|
var isExternal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultIsExternal;
|
|
180
174
|
var releaseBranch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultReleaseBranch;
|
|
181
|
-
var links = _.reduce(CHANNEL_PATH, function (res, path, key) {
|
|
175
|
+
var links = _.reduce(_channels.CHANNEL_PATH, function (res, path, key) {
|
|
182
176
|
var link = __getLink(isExternal, releaseBranch, mainBaseURL, path);
|
|
183
177
|
res[key] = link;
|
|
184
178
|
return res;
|
|
185
179
|
}, {});
|
|
186
|
-
links[CHANNEL_KEY.kidsReporter] = __composeExternalLink(__getExternalLinks().kidsReporter, '_blank');
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
180
|
+
links[_channels.CHANNEL_KEY.kidsReporter] = __composeExternalLink(__getExternalLinks().kidsReporter, '_blank');
|
|
181
|
+
links[_channels.CHANNEL_KEY.lawmaker] = __composeExternalLink(__getExternalLinks().lawmaker, '_blank');
|
|
182
|
+
links[_channels.CHANNEL_KEY.academy] = __composeExternalLink(__getExternalLinks().academy, '_blank');
|
|
190
183
|
return links;
|
|
191
184
|
}
|
|
192
185
|
function getTabBarLinks() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/universal-header",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0-rc.0",
|
|
4
4
|
"description": "Universal header of TWReporter sites",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"react-dom": "^18.2.0",
|
|
59
59
|
"storybook": "^8.1.11"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "9b417b005aac0babdf2ed18be1626faf388d8348"
|
|
62
62
|
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = exports.DESKTOP_CHANNEL_ORDER = exports.CHANNEL_TYPE = exports.CHANNEL_PATH = exports.CHANNEL_ORDER = exports.CHANNEL_LINK_TYPE = exports.CHANNEL_LABEL = exports.CHANNEL_KEY = exports.CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_DROPDOWN = void 0;
|
|
7
|
-
var _infogram = require("@twreporter/core/lib/constants/infogram");
|
|
8
|
-
var _categorySet = require("@twreporter/core/lib/constants/category-set");
|
|
9
|
-
var _CHANNEL_PATH, _CHANNEL_LABEL, _CHANNEL_TYPE, _CHANNEL_DROPDOWN;
|
|
10
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
11
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
-
var channelKey = {
|
|
15
|
-
latest: 'latest',
|
|
16
|
-
topic: 'topic',
|
|
17
|
-
category: 'category',
|
|
18
|
-
opinion: 'opinion',
|
|
19
|
-
column: 'column',
|
|
20
|
-
humanStory: 'human-story',
|
|
21
|
-
photography: 'photography',
|
|
22
|
-
podcast: 'podcast',
|
|
23
|
-
kidsReporter: 'kids-reporter',
|
|
24
|
-
infographic: 'infographic',
|
|
25
|
-
lawmaker: 'lawmaker'
|
|
26
|
-
};
|
|
27
|
-
var CHANNEL_KEY = exports.CHANNEL_KEY = channelKey;
|
|
28
|
-
|
|
29
|
-
// external links are in external-links.js file
|
|
30
|
-
var CHANNEL_PATH = exports.CHANNEL_PATH = (_CHANNEL_PATH = {}, _defineProperty(_CHANNEL_PATH, channelKey.latest, '/latest'), _defineProperty(_CHANNEL_PATH, channelKey.topic, '/topics'), _defineProperty(_CHANNEL_PATH, channelKey.humanStory, '/tags/58db34a30f56b40d001ae6a6'), _defineProperty(_CHANNEL_PATH, channelKey.photography, '/photography'), _defineProperty(_CHANNEL_PATH, channelKey.infographic, "/tags/".concat(_infogram.INFOGRAM_ID)), _CHANNEL_PATH);
|
|
31
|
-
var CHANNEL_LABEL = exports.CHANNEL_LABEL = (_CHANNEL_LABEL = {}, _defineProperty(_CHANNEL_LABEL, channelKey.latest, '最新'), _defineProperty(_CHANNEL_LABEL, channelKey.topic, '深度專題'), _defineProperty(_CHANNEL_LABEL, channelKey.category, '議題'), _defineProperty(_CHANNEL_LABEL, channelKey.opinion, '評論'), _defineProperty(_CHANNEL_LABEL, channelKey.column, '專欄'), _defineProperty(_CHANNEL_LABEL, channelKey.humanStory, '人物故事'), _defineProperty(_CHANNEL_LABEL, channelKey.photography, '影像'), _defineProperty(_CHANNEL_LABEL, channelKey.podcast, 'Podcast'), _defineProperty(_CHANNEL_LABEL, channelKey.kidsReporter, '少年報導者'), _defineProperty(_CHANNEL_LABEL, channelKey.infographic, '數位敘事'), _defineProperty(_CHANNEL_LABEL, channelKey.lawmaker, '報導者觀測站'), _CHANNEL_LABEL);
|
|
32
|
-
var channelLinkType = 'link';
|
|
33
|
-
var channelDropDownType = 'drop-down';
|
|
34
|
-
var CHANNEL_LINK_TYPE = exports.CHANNEL_LINK_TYPE = channelLinkType;
|
|
35
|
-
var CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_DROPDOWN_TYPE = channelDropDownType;
|
|
36
|
-
var CHANNEL_TYPE = exports.CHANNEL_TYPE = (_CHANNEL_TYPE = {}, _defineProperty(_CHANNEL_TYPE, channelKey.latest, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.topic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.category, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.opinion, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.column, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.humanStory, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.photography, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.podcast, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.kidsReporter, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.infographic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.lawmaker, channelLinkType), _CHANNEL_TYPE);
|
|
37
|
-
var CHANNEL_DROPDOWN = exports.CHANNEL_DROPDOWN = (_CHANNEL_DROPDOWN = {}, _defineProperty(_CHANNEL_DROPDOWN, channelKey.opinion, [{
|
|
38
|
-
type: 'subcategory',
|
|
39
|
-
key: _categorySet.SUBCATEGORY_PATH.bookReview
|
|
40
|
-
}, {
|
|
41
|
-
type: 'subcategory',
|
|
42
|
-
key: _categorySet.SUBCATEGORY_PATH.letter
|
|
43
|
-
}, {
|
|
44
|
-
type: 'subcategory',
|
|
45
|
-
key: _categorySet.SUBCATEGORY_PATH.all
|
|
46
|
-
}]), _defineProperty(_CHANNEL_DROPDOWN, channelKey.podcast, [{
|
|
47
|
-
type: 'path',
|
|
48
|
-
label: '關於報導者 Podcast',
|
|
49
|
-
path: '/a/podcast-list'
|
|
50
|
-
}, {
|
|
51
|
-
type: 'subcategory',
|
|
52
|
-
key: _categorySet.SUBCATEGORY_PATH.theRealStory
|
|
53
|
-
}, {
|
|
54
|
-
type: 'subcategory',
|
|
55
|
-
key: _categorySet.SUBCATEGORY_PATH.onTheGround
|
|
56
|
-
}]), _CHANNEL_DROPDOWN);
|
|
57
|
-
var CHANNEL_ORDER = exports.CHANNEL_ORDER = [channelKey.latest, 'divider', channelKey.topic, channelKey.category, channelKey.opinion, channelKey.humanStory, 'divider', channelKey.photography, channelKey.podcast, channelKey.kidsReporter, channelKey.lawmaker, channelKey.infographic, 'divider'];
|
|
58
|
-
var DESKTOP_CHANNEL_ORDER = exports.DESKTOP_CHANNEL_ORDER = [channelKey.latest, channelKey.topic, channelKey.category];
|
|
59
|
-
var _default = exports["default"] = {
|
|
60
|
-
CHANNEL_LINK_TYPE: CHANNEL_LINK_TYPE,
|
|
61
|
-
CHANNEL_DROPDOWN_TYPE: CHANNEL_DROPDOWN_TYPE,
|
|
62
|
-
CHANNEL_PATH: CHANNEL_PATH,
|
|
63
|
-
CHANNEL_LABEL: CHANNEL_LABEL,
|
|
64
|
-
CHANNEL_TYPE: CHANNEL_TYPE,
|
|
65
|
-
CHANNEL_ORDER: CHANNEL_ORDER,
|
|
66
|
-
DESKTOP_CHANNEL_ORDER: DESKTOP_CHANNEL_ORDER,
|
|
67
|
-
CHANNEL_KEY: CHANNEL_KEY,
|
|
68
|
-
CHANNEL_DROPDOWN: CHANNEL_DROPDOWN
|
|
69
|
-
};
|