@twreporter/react-components 8.27.2-rc.1 → 8.28.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.
- package/CHANGELOG.md +34 -0
- package/lib/footer/constants/links.js +128 -0
- package/lib/footer/footer.stories.js +29 -0
- package/lib/footer/index.js +134 -88
- package/lib/footer/link.js +151 -0
- package/lib/footer/logo.js +41 -32
- package/lib/icon/enum/index.js +2 -1
- package/lib/icon/index.js +5 -2
- package/lib/logo/components/logo-footer.js +23 -10
- package/lib/logo/utils/path.js +7 -3
- package/lib/mobile-member-role-card/index.js +6 -3
- package/package.json +2 -2
- package/lib/footer/constants/icons.js +0 -38
- package/lib/footer/constants/paths.js +0 -8
- package/lib/footer/constants/styles.js +0 -81
- package/lib/footer/content.js +0 -221
- package/lib/footer/icon-list.js +0 -94
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
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
|
+
# [8.28.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.27.2-rc.2...@twreporter/react-components@8.28.0-rc.0) (2024-05-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* add link for button ([58ecbb8](https://github.com/twreporter/twreporter-npm-packages/commit/58ecbb8f1008c6ad8d71b2ef35d690ebd6370a70))
|
|
12
|
+
* remove unused hover ([fe9f420](https://github.com/twreporter/twreporter-npm-packages/commit/fe9f4204baa5d905e75dd52d4e67e2f88ee5a308))
|
|
13
|
+
* use js default value and fix comments ([313a7d9](https://github.com/twreporter/twreporter-npm-packages/commit/313a7d93a9767edd13e3a45002eb42ee8e872e60))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* add footer links contants and components ([2a5d284](https://github.com/twreporter/twreporter-npm-packages/commit/2a5d284493488b7fff8d7ec940e0a7772f15c3d8))
|
|
19
|
+
* add footer storybooks ([b74d8e0](https://github.com/twreporter/twreporter-npm-packages/commit/b74d8e0524196ccabc1f528bc0dbe58a2cc918b7))
|
|
20
|
+
* logo component for footer ([2684955](https://github.com/twreporter/twreporter-npm-packages/commit/2684955bbf04e2c22338f3a51de2390383bf3f65))
|
|
21
|
+
* logo footer ([5887d57](https://github.com/twreporter/twreporter-npm-packages/commit/5887d577a2509214f3e00dd22d404c506e517ab6))
|
|
22
|
+
* new footer component ([fff4e74](https://github.com/twreporter/twreporter-npm-packages/commit/fff4e74c8e485eba0ccb8b96bb50014a446a7eaf))
|
|
23
|
+
* plurk icon ([9876c40](https://github.com/twreporter/twreporter-npm-packages/commit/9876c409e1c3e2e84ab8e100837f72d997d61d2f))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## [8.27.2-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.27.2-rc.1...@twreporter/react-components@8.27.2-rc.2) (2024-05-07)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* prevent ios chrome email format detection ([fd19ce7](https://github.com/twreporter/twreporter-npm-packages/commit/fd19ce7816bf2121a52dc66d572e1b9f6a020c78))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
6
40
|
## [8.27.2-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.27.2-rc.0...@twreporter/react-components@8.27.2-rc.1) (2024-05-07)
|
|
7
41
|
|
|
8
42
|
**Note:** Version bump only for package @twreporter/react-components
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getSocialMediaLinks = exports.getLinksGroups = void 0;
|
|
7
|
+
|
|
8
|
+
var _entityPath = _interopRequireDefault(require("@twreporter/core/lib/constants/entity-path"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
var gtmId = {
|
|
13
|
+
support: 'footer-support',
|
|
14
|
+
newsletter: 'footer-newsletter'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var getLinksGroups = function getLinksGroups(mainOrigin) {
|
|
18
|
+
return [[{
|
|
19
|
+
slug: 'about',
|
|
20
|
+
text: '關於我們',
|
|
21
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].aboutus),
|
|
22
|
+
target: '_blank'
|
|
23
|
+
}, {
|
|
24
|
+
slug: 'authors',
|
|
25
|
+
text: '作者群',
|
|
26
|
+
to: "".concat(mainOrigin, "/authors"),
|
|
27
|
+
target: '_blank'
|
|
28
|
+
}, {
|
|
29
|
+
slug: 'contact',
|
|
30
|
+
text: '聯絡我們',
|
|
31
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].article, "contact-footer"),
|
|
32
|
+
target: '_blank'
|
|
33
|
+
}, {
|
|
34
|
+
slug: 'about',
|
|
35
|
+
text: '加入我們',
|
|
36
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].article, "hiring-job-description"),
|
|
37
|
+
target: '_blank'
|
|
38
|
+
}, {
|
|
39
|
+
slug: 'license',
|
|
40
|
+
text: '常見問題',
|
|
41
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].article, "about-us-questions"),
|
|
42
|
+
target: '_blank'
|
|
43
|
+
}], [{
|
|
44
|
+
slug: 'donate',
|
|
45
|
+
text: '捐款徵信',
|
|
46
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].article, "credit-donate"),
|
|
47
|
+
target: '_blank'
|
|
48
|
+
}, {
|
|
49
|
+
slug: 'media-center',
|
|
50
|
+
text: '基金會消息',
|
|
51
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].categories, "foundation"),
|
|
52
|
+
target: '_blank'
|
|
53
|
+
}, {
|
|
54
|
+
slug: 'impact-and-annual-report',
|
|
55
|
+
text: '影響力報告',
|
|
56
|
+
to: "".concat(mainOrigin).concat(_entityPath["default"].article, "impact-and-annual-report"),
|
|
57
|
+
target: '_blank'
|
|
58
|
+
}, {
|
|
59
|
+
slug: 'publication-and-merchandise',
|
|
60
|
+
text: '出版品與周邊',
|
|
61
|
+
to: 'https://twreporter.backme.tw/shops/3619?locale=zh-TW',
|
|
62
|
+
target: '_blank'
|
|
63
|
+
}], [{
|
|
64
|
+
slug: 'subcribe-email',
|
|
65
|
+
text: '訂閱電子報',
|
|
66
|
+
to: 'http://eepurl.com/djVwF9',
|
|
67
|
+
target: '_blank',
|
|
68
|
+
id: gtmId.newsletter
|
|
69
|
+
}, {
|
|
70
|
+
slug: 'subcribe-podcast',
|
|
71
|
+
text: '訂閱 Podcast',
|
|
72
|
+
to: 'https://bit.ly/4cxM3Tm',
|
|
73
|
+
target: '_blank'
|
|
74
|
+
}, {
|
|
75
|
+
slug: 'subcribe-RSS',
|
|
76
|
+
text: '訂閱 RSS',
|
|
77
|
+
to: 'https://public.twreporter.org/rss/twreporter-rss.xml',
|
|
78
|
+
target: '_blank'
|
|
79
|
+
}, {
|
|
80
|
+
slug: 'install-web-app',
|
|
81
|
+
text: '安裝Web App',
|
|
82
|
+
to: 'https://www.twreporter.org/a/how-to-follow-the-reporter#方法3:安裝Web App',
|
|
83
|
+
target: '_blank'
|
|
84
|
+
}, {
|
|
85
|
+
slug: 'subcribe-telegram',
|
|
86
|
+
text: '訂閱Telegram',
|
|
87
|
+
to: 'https://t.me/tw_reporter_org',
|
|
88
|
+
target: '_blank'
|
|
89
|
+
}]];
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
exports.getLinksGroups = getLinksGroups;
|
|
93
|
+
|
|
94
|
+
var getSocialMediaLinks = function getSocialMediaLinks() {
|
|
95
|
+
return [{
|
|
96
|
+
slug: 'facebook',
|
|
97
|
+
icon: 'facebook',
|
|
98
|
+
to: 'https://www.facebook.com/twreporter/',
|
|
99
|
+
target: '_blank'
|
|
100
|
+
}, {
|
|
101
|
+
slug: 'instagram',
|
|
102
|
+
icon: 'instagram',
|
|
103
|
+
to: 'https://www.instagram.com/twreporter/',
|
|
104
|
+
target: '_blank'
|
|
105
|
+
}, {
|
|
106
|
+
slug: 'x',
|
|
107
|
+
icon: 'twitter',
|
|
108
|
+
to: 'https://twitter.com/tw_reporter_org',
|
|
109
|
+
target: '_blank'
|
|
110
|
+
}, {
|
|
111
|
+
slug: 'medium',
|
|
112
|
+
icon: 'medium',
|
|
113
|
+
to: 'https://medium.com/twreporter',
|
|
114
|
+
target: '_blank'
|
|
115
|
+
}, {
|
|
116
|
+
slug: 'youtube',
|
|
117
|
+
icon: 'youtube',
|
|
118
|
+
to: 'https://www.youtube.com/@TwreporterOrg',
|
|
119
|
+
target: '_blank'
|
|
120
|
+
}, {
|
|
121
|
+
slug: 'plurk',
|
|
122
|
+
icon: 'plurk',
|
|
123
|
+
to: 'https://www.plurk.com/twreporter',
|
|
124
|
+
target: '_blank'
|
|
125
|
+
}];
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
exports.getSocialMediaLinks = getSocialMediaLinks;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.footer = exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
9
|
+
|
|
10
|
+
var _constants = require("../storybook/constants");
|
|
11
|
+
|
|
12
|
+
var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
var _default = {
|
|
17
|
+
title: 'Footer',
|
|
18
|
+
component: _index["default"],
|
|
19
|
+
argTypes: {
|
|
20
|
+
releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports["default"] = _default;
|
|
24
|
+
var footer = {
|
|
25
|
+
args: {
|
|
26
|
+
releaseBranch: _releaseBranch["default"].master
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.footer = footer;
|
package/lib/footer/index.js
CHANGED
|
@@ -1,139 +1,185 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports["default"] = void 0;
|
|
9
7
|
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
8
|
var _react = _interopRequireDefault(require("react"));
|
|
13
9
|
|
|
14
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
11
|
|
|
16
|
-
var _content = _interopRequireDefault(require("./content"));
|
|
17
|
-
|
|
18
|
-
var _iconList = _interopRequireDefault(require("./icon-list"));
|
|
19
|
-
|
|
20
|
-
var _styles = _interopRequireDefault(require("./constants/styles"));
|
|
21
|
-
|
|
22
|
-
var _css = require("@twreporter/core/lib/utils/css");
|
|
23
|
-
|
|
24
12
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
25
13
|
|
|
26
|
-
var
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
|
|
27
15
|
|
|
28
16
|
var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
|
|
29
17
|
|
|
30
|
-
var _font = require("@twreporter/core/lib/constants/font");
|
|
31
|
-
|
|
32
18
|
var _fundraising = _interopRequireDefault(require("@twreporter/core/lib/constants/fundraising"));
|
|
33
19
|
|
|
34
20
|
var _color = require("@twreporter/core/lib/constants/color");
|
|
35
21
|
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
-
|
|
40
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
22
|
+
var _requestOrigins = _interopRequireDefault(require("@twreporter/core/lib/constants/request-origins"));
|
|
41
23
|
|
|
42
|
-
|
|
24
|
+
var _button = require("../button");
|
|
43
25
|
|
|
44
|
-
|
|
26
|
+
var _divider = _interopRequireDefault(require("../divider"));
|
|
45
27
|
|
|
46
|
-
|
|
28
|
+
var _paragraph = require("../text/paragraph");
|
|
47
29
|
|
|
48
|
-
|
|
30
|
+
var _rwd = require("../rwd");
|
|
49
31
|
|
|
50
|
-
|
|
32
|
+
var _customizedLink = _interopRequireDefault(require("../customized-link"));
|
|
51
33
|
|
|
52
|
-
|
|
34
|
+
var _link = require("./link");
|
|
53
35
|
|
|
54
|
-
|
|
36
|
+
var _logo = _interopRequireDefault(require("./logo"));
|
|
55
37
|
|
|
56
|
-
|
|
38
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
57
39
|
|
|
58
|
-
function
|
|
40
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
59
41
|
|
|
60
42
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
61
43
|
|
|
62
44
|
var FooterContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
63
45
|
displayName: "footer__FooterContainer",
|
|
64
46
|
componentId: "d1uef9-0"
|
|
65
|
-
})(["
|
|
66
|
-
return props.bgColor;
|
|
67
|
-
}, _mediaQuery["default"].tabletAndAbove(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n min-height: ", "px;\n "])), _styles["default"].footerHeight.desktop));
|
|
47
|
+
})(["width:100%;background-color:", ";"], _color.colorGrayscale.white);
|
|
68
48
|
|
|
69
|
-
var
|
|
70
|
-
displayName: "
|
|
49
|
+
var FooterSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
50
|
+
displayName: "footer__FooterSection",
|
|
71
51
|
componentId: "d1uef9-1"
|
|
72
|
-
})(["
|
|
52
|
+
})(["display:flex;flex-direction:column;margin:auto;", " ", ""], _mediaQuery["default"].desktopAndAbove(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: 1200px;\n padding: 48px;\n "]))), _mediaQuery["default"].tabletAndBelow(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-direction: column;\n justify-content: center;\n max-width: 400px;\n padding: 48px 16px;\n "]))));
|
|
73
53
|
|
|
74
|
-
var
|
|
75
|
-
displayName: "
|
|
54
|
+
var UpperContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
55
|
+
displayName: "footer__UpperContainer",
|
|
76
56
|
componentId: "d1uef9-2"
|
|
77
|
-
})(["display:flex;
|
|
57
|
+
})(["width:100%;display:flex;flex-direction:row;justify-content:space-between;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex-direction: column;\n justify-content: center;\n "]))));
|
|
78
58
|
|
|
79
|
-
var
|
|
80
|
-
displayName: "
|
|
59
|
+
var InformationContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
60
|
+
displayName: "footer__InformationContainer",
|
|
81
61
|
componentId: "d1uef9-3"
|
|
82
|
-
})(["
|
|
62
|
+
})(["display:flex;flex-direction:column;justify-content:space-between;a{text-decoration:none;}", " ", " .button{width:280px;justify-content:center;}"], _mediaQuery["default"].desktopAndAbove(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n max-width: 320px;\n "]))), _mediaQuery["default"].tabletAndBelow(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n gap: 32px;\n width: 100%;\n margin-bottom: 48px;\n align-items: center;\n text-align: center;\n "]))));
|
|
63
|
+
|
|
64
|
+
var LogoAndDescription = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
65
|
+
displayName: "footer__LogoAndDescription",
|
|
66
|
+
componentId: "d1uef9-4"
|
|
67
|
+
})(["width:100%;display:flex;flex-direction:column;gap:24px;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n align-items: center;\n gap: 16px;\n "]))));
|
|
68
|
+
|
|
69
|
+
var LinksContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
70
|
+
displayName: "footer__LinksContainer",
|
|
71
|
+
componentId: "d1uef9-5"
|
|
72
|
+
})(["display:flex;gap:24px;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n margin-bottom: 16px;\n gap: 16px;\n "]))));
|
|
83
73
|
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
var Divider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["default"]).withConfig({
|
|
75
|
+
displayName: "footer__Divider",
|
|
76
|
+
componentId: "d1uef9-6"
|
|
77
|
+
})(["width:100%;margin-top:24px;margin-bottom:24px;"]);
|
|
78
|
+
|
|
79
|
+
var BottomContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
80
|
+
displayName: "footer__BottomContainer",
|
|
81
|
+
componentId: "d1uef9-7"
|
|
82
|
+
})(["display:flex;justify-content:space-between;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n flex-direction: column-reverse;\n gap: 24px;\n align-items: center;\n text-align: center;\n "]))));
|
|
83
|
+
|
|
84
|
+
var InfoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
85
|
+
displayName: "footer__InfoContainer",
|
|
86
|
+
componentId: "d1uef9-8"
|
|
87
|
+
})(["display:flex;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n flex-direction: column;\n align-items: center;\n "]))));
|
|
88
|
+
|
|
89
|
+
var DescWithLink = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P3).withConfig({
|
|
90
|
+
displayName: "footer__DescWithLink",
|
|
91
|
+
componentId: "d1uef9-9"
|
|
92
|
+
})(["color:", ";"], _color.colorGrayscale.gray600);
|
|
93
|
+
|
|
94
|
+
var IconList = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
95
|
+
displayName: "footer__IconList",
|
|
96
|
+
componentId: "d1uef9-10"
|
|
97
|
+
})(["display:flex;gap:16px;"]);
|
|
98
|
+
|
|
99
|
+
var P2Gray600 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P2).withConfig({
|
|
100
|
+
displayName: "footer__P2Gray600",
|
|
101
|
+
componentId: "d1uef9-11"
|
|
102
|
+
})(["color:", ";"], _color.colorGrayscale.gray600);
|
|
103
|
+
var P3Gray600 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P3).withConfig({
|
|
104
|
+
displayName: "footer__P3Gray600",
|
|
105
|
+
componentId: "d1uef9-12"
|
|
106
|
+
})(["color:", ";"], _color.colorGrayscale.gray600);
|
|
107
|
+
|
|
108
|
+
var DesktopAndAboveWithFlex = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
109
|
+
displayName: "footer__DesktopAndAboveWithFlex",
|
|
110
|
+
componentId: "d1uef9-13"
|
|
111
|
+
})(["display:flex;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n display: none;\n "]))));
|
|
112
|
+
|
|
113
|
+
var InfoLink = function InfoLink(_ref) {
|
|
114
|
+
var _ref$releaseBranch = _ref.releaseBranch,
|
|
115
|
+
releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch["default"].release : _ref$releaseBranch;
|
|
116
|
+
var mainOrigin = _requestOrigins["default"].forClientSideRendering[releaseBranch].main;
|
|
117
|
+
return /*#__PURE__*/_react["default"].createElement(DescWithLink, null, /*#__PURE__*/_react["default"].createElement(_button.InheritLinkButton, {
|
|
118
|
+
text: "\u8A31\u53EF\u5354\u8B70",
|
|
119
|
+
link: {
|
|
120
|
+
isExternal: true,
|
|
121
|
+
to: "".concat(mainOrigin, "/a/license-footer"),
|
|
122
|
+
target: '_blank'
|
|
123
|
+
},
|
|
124
|
+
type: _button.InheritLinkButton.Type.UNDERLINE
|
|
125
|
+
}), "\uFF5C", /*#__PURE__*/_react["default"].createElement(_button.InheritLinkButton, {
|
|
126
|
+
text: "\u96B1\u79C1\u653F\u7B56",
|
|
127
|
+
link: {
|
|
128
|
+
isExternal: true,
|
|
129
|
+
to: "".concat(mainOrigin, "/a/privacy-footer"),
|
|
130
|
+
target: '_blank'
|
|
131
|
+
},
|
|
132
|
+
type: _button.InheritLinkButton.Type.UNDERLINE
|
|
133
|
+
}), "\uFF5C", /*#__PURE__*/_react["default"].createElement(_button.InheritLinkButton, {
|
|
134
|
+
text: "\u54C1\u724C\u898F\u7BC4",
|
|
135
|
+
link: {
|
|
136
|
+
isExternal: true,
|
|
137
|
+
to: 'https://twreporter.gitbook.io/the-reporter-brand-guidelines',
|
|
138
|
+
target: '_blank'
|
|
139
|
+
},
|
|
140
|
+
type: _button.InheritLinkButton.Type.UNDERLINE
|
|
141
|
+
}));
|
|
87
142
|
};
|
|
88
143
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return /*#__PURE__*/_react["default"].createElement(InfoContainer, null, _fundraising["default"]);
|
|
144
|
+
InfoLink.propTypes = {
|
|
145
|
+
releaseBranch: _propTypes["default"].releaseBranch
|
|
92
146
|
};
|
|
93
147
|
|
|
94
|
-
var Footer =
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
148
|
+
var Footer = function Footer(_ref2) {
|
|
149
|
+
var _ref2$releaseBranch = _ref2.releaseBranch,
|
|
150
|
+
releaseBranch = _ref2$releaseBranch === void 0 ? _releaseBranch["default"].release : _ref2$releaseBranch;
|
|
151
|
+
return /*#__PURE__*/_react["default"].createElement(FooterContainer, null, /*#__PURE__*/_react["default"].createElement(FooterSection, null, /*#__PURE__*/_react["default"].createElement(UpperContainer, null, /*#__PURE__*/_react["default"].createElement(InformationContainer, null, /*#__PURE__*/_react["default"].createElement(LogoAndDescription, null, /*#__PURE__*/_react["default"].createElement(_logo["default"], {
|
|
152
|
+
releaseBranch: releaseBranch
|
|
153
|
+
}), /*#__PURE__*/_react["default"].createElement(P2Gray600, {
|
|
154
|
+
text: "\u53F0\u7063\u7B2C\u4E00\u500B\u7531\u516C\u76CA\u57FA\u91D1\u6703\u6210\u7ACB\u7684\u7DB2\u8DEF\u5A92\u9AD4\uFF0C\u81F4\u529B\u65BC\u516C\u5171\u9818\u57DF\u8ABF\u67E5\u5831\u5C0E\uFF0C\u6253\u9020\u591A\u5143\u9032\u6B65\u7684\u5A92\u9AD4\u74B0\u5883\u3002"
|
|
155
|
+
})), /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], {
|
|
156
|
+
to: _requestOrigins["default"].forClientSideRendering[releaseBranch].accounts,
|
|
157
|
+
target: "_blank"
|
|
158
|
+
}, /*#__PURE__*/_react["default"].createElement(_button.PillButton, {
|
|
159
|
+
className: "button",
|
|
160
|
+
type: _button.PillButton.Type.SECONDARY,
|
|
161
|
+
text: '贊助我們'
|
|
162
|
+
}))), /*#__PURE__*/_react["default"].createElement(LinksContainer, null, /*#__PURE__*/_react["default"].createElement(_link.FooterLinkButtonGroups, {
|
|
163
|
+
releaseBranch: releaseBranch
|
|
164
|
+
}))), /*#__PURE__*/_react["default"].createElement(Divider, null), /*#__PURE__*/_react["default"].createElement(BottomContainer, null, /*#__PURE__*/_react["default"].createElement(InfoContainer, null, /*#__PURE__*/_react["default"].createElement(P3Gray600, {
|
|
165
|
+
text: _fundraising["default"]
|
|
166
|
+
}), /*#__PURE__*/_react["default"].createElement(DesktopAndAboveWithFlex, null, /*#__PURE__*/_react["default"].createElement(P3Gray600, {
|
|
167
|
+
text: "\uFF5C"
|
|
168
|
+
}), /*#__PURE__*/_react["default"].createElement(InfoLink, {
|
|
169
|
+
releaseBranch: releaseBranch
|
|
170
|
+
}), /*#__PURE__*/_react["default"].createElement(P3Gray600, {
|
|
171
|
+
text: "\uFF5C"
|
|
172
|
+
})), /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndBelow, null, /*#__PURE__*/_react["default"].createElement(InfoLink, {
|
|
173
|
+
releaseBranch: releaseBranch
|
|
174
|
+
})), /*#__PURE__*/_react["default"].createElement(P3Gray600, {
|
|
175
|
+
text: "Copyright \xA9 ".concat(new Date().getFullYear(), " The Reporter.")
|
|
176
|
+
})), /*#__PURE__*/_react["default"].createElement(IconList, null, /*#__PURE__*/_react["default"].createElement(_link.FooterSocialMediaIcons, {
|
|
177
|
+
releaseBranch: releaseBranch
|
|
178
|
+
})))));
|
|
179
|
+
};
|
|
125
180
|
|
|
126
181
|
Footer.propTypes = {
|
|
127
|
-
|
|
128
|
-
releaseBranch: _propTypes2["default"].releaseBranch,
|
|
129
|
-
host: _propTypes["default"].string,
|
|
130
|
-
pathname: _propTypes["default"].string
|
|
131
|
-
};
|
|
132
|
-
Footer.defaultProps = {
|
|
133
|
-
bgColor: _color.colorGrayscale.white,
|
|
134
|
-
releaseBranch: _releaseBranch["default"].release,
|
|
135
|
-
host: '',
|
|
136
|
-
pathname: ''
|
|
182
|
+
releaseBranch: _propTypes["default"].releaseBranch
|
|
137
183
|
};
|
|
138
184
|
var _default = Footer;
|
|
139
185
|
exports["default"] = _default;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FooterSocialMediaIcons = exports.FooterLinkButtonGroups = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _propTypes2 = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
|
|
15
|
+
|
|
16
|
+
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
17
|
+
|
|
18
|
+
var _color = require("@twreporter/core/lib/constants/color");
|
|
19
|
+
|
|
20
|
+
var _requestOrigins = _interopRequireDefault(require("@twreporter/core/lib/constants/request-origins"));
|
|
21
|
+
|
|
22
|
+
var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
|
|
23
|
+
|
|
24
|
+
var _icon = require("../icon");
|
|
25
|
+
|
|
26
|
+
var _button = require("../button");
|
|
27
|
+
|
|
28
|
+
var _paragraph = require("../text/paragraph");
|
|
29
|
+
|
|
30
|
+
var _customizedLink = _interopRequireDefault(require("../customized-link"));
|
|
31
|
+
|
|
32
|
+
var _links = require("./constants/links");
|
|
33
|
+
|
|
34
|
+
var _map = _interopRequireDefault(require("lodash/map"));
|
|
35
|
+
|
|
36
|
+
var _templateObject;
|
|
37
|
+
|
|
38
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
40
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
41
|
+
|
|
42
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
43
|
+
|
|
44
|
+
var _ = {
|
|
45
|
+
map: _map["default"]
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var LinkColumn = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
49
|
+
displayName: "link__LinkColumn",
|
|
50
|
+
componentId: "sc-7lr0di-0"
|
|
51
|
+
})(["display:flex;flex-direction:column;gap:16px;", ""], _mediaQuery["default"].tabletAndBelow(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex-grow: 1;\n flex-basis: 33%;\n word-wrap: break-word;\n max-width: 33%;\n gap: 8px;\n "]))));
|
|
52
|
+
|
|
53
|
+
var LinkContainer = /*#__PURE__*/(0, _styledComponents["default"])(_customizedLink["default"]).withConfig({
|
|
54
|
+
displayName: "link__LinkContainer",
|
|
55
|
+
componentId: "sc-7lr0di-1"
|
|
56
|
+
})(["text-decoration:none;"]);
|
|
57
|
+
var LinkItem = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P2).withConfig({
|
|
58
|
+
displayName: "link__LinkItem",
|
|
59
|
+
componentId: "sc-7lr0di-2"
|
|
60
|
+
})(["color:", ";&:hover{color:", ";}"], _color.colorGrayscale.gray600, _color.colorGrayscale.gray800);
|
|
61
|
+
|
|
62
|
+
var FooterLinkButton = function FooterLinkButton(_ref) {
|
|
63
|
+
var slug = _ref.slug,
|
|
64
|
+
text = _ref.text,
|
|
65
|
+
to = _ref.to,
|
|
66
|
+
target = _ref.target,
|
|
67
|
+
id = _ref.id;
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(LinkContainer, {
|
|
69
|
+
slug: slug,
|
|
70
|
+
to: to,
|
|
71
|
+
target: target,
|
|
72
|
+
id: id
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(LinkItem, {
|
|
74
|
+
text: text
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
FooterLinkButton.propTypes = {
|
|
79
|
+
slug: _propTypes["default"].string,
|
|
80
|
+
text: _propTypes["default"].string,
|
|
81
|
+
to: _propTypes["default"].string,
|
|
82
|
+
target: _propTypes["default"].oneOf(['_blank', '_self']),
|
|
83
|
+
id: _propTypes["default"].string
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var FooterSocialMediaIcon = function FooterSocialMediaIcon(_ref2) {
|
|
87
|
+
var releaseBranch = _ref2.releaseBranch,
|
|
88
|
+
slug = _ref2.slug,
|
|
89
|
+
icon = _ref2.icon,
|
|
90
|
+
to = _ref2.to,
|
|
91
|
+
target = _ref2.target;
|
|
92
|
+
|
|
93
|
+
var Icon = /*#__PURE__*/_react["default"].createElement(_icon.SocialMedia, {
|
|
94
|
+
mediaType: icon,
|
|
95
|
+
releaseBranch: releaseBranch
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
return /*#__PURE__*/_react["default"].createElement(LinkContainer, {
|
|
99
|
+
slug: slug,
|
|
100
|
+
to: to,
|
|
101
|
+
target: target
|
|
102
|
+
}, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
|
|
103
|
+
iconComponent: Icon
|
|
104
|
+
}));
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
FooterSocialMediaIcon.propTypes = {
|
|
108
|
+
releaseBranch: _propTypes2["default"].releaseBranch,
|
|
109
|
+
slug: _propTypes["default"].string,
|
|
110
|
+
icon: _propTypes["default"].string,
|
|
111
|
+
to: _propTypes["default"].string,
|
|
112
|
+
target: _propTypes["default"].oneOf(['_blank', '_self'])
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
var FooterLinkButtonGroups = function FooterLinkButtonGroups(_ref3) {
|
|
116
|
+
var _ref3$releaseBranch = _ref3.releaseBranch,
|
|
117
|
+
releaseBranch = _ref3$releaseBranch === void 0 ? _releaseBranch["default"].release : _ref3$releaseBranch;
|
|
118
|
+
var mainOrigin = _requestOrigins["default"].forClientSideRendering[releaseBranch].main;
|
|
119
|
+
var linksGroups = (0, _links.getLinksGroups)(mainOrigin);
|
|
120
|
+
return _.map(linksGroups, function (links, indexofGroup) {
|
|
121
|
+
return /*#__PURE__*/_react["default"].createElement(LinkColumn, {
|
|
122
|
+
key: indexofGroup
|
|
123
|
+
}, _.map(links, function (link, indexofLink) {
|
|
124
|
+
return /*#__PURE__*/_react["default"].createElement(FooterLinkButton, _extends({
|
|
125
|
+
key: indexofLink
|
|
126
|
+
}, link));
|
|
127
|
+
}));
|
|
128
|
+
});
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
exports.FooterLinkButtonGroups = FooterLinkButtonGroups;
|
|
132
|
+
FooterLinkButtonGroups.propTypes = {
|
|
133
|
+
releaseBranch: _propTypes2["default"].releaseBranch
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var FooterSocialMediaIcons = function FooterSocialMediaIcons(_ref4) {
|
|
137
|
+
var _ref4$releaseBranch = _ref4.releaseBranch,
|
|
138
|
+
releaseBranch = _ref4$releaseBranch === void 0 ? _releaseBranch["default"].release : _ref4$releaseBranch;
|
|
139
|
+
var icons = (0, _links.getSocialMediaLinks)();
|
|
140
|
+
return _.map(icons, function (icon, index) {
|
|
141
|
+
return /*#__PURE__*/_react["default"].createElement(FooterSocialMediaIcon, _extends({
|
|
142
|
+
key: index,
|
|
143
|
+
releaseBranch: releaseBranch
|
|
144
|
+
}, icon));
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
exports.FooterSocialMediaIcons = FooterSocialMediaIcons;
|
|
149
|
+
FooterSocialMediaIcons.propTypes = {
|
|
150
|
+
releaseBranch: _propTypes2["default"].releaseBranch
|
|
151
|
+
};
|