@times-components/article-comments 0.28.1 → 0.30.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 +30 -0
- package/README.md +1 -3
- package/babel.config.js +13 -2
- package/dist/article-comments.js +64 -1
- package/dist/comment-login.js +46 -1
- package/dist/comments.js +269 -1
- package/dist/disabled-comments.js +24 -1
- package/dist/join-the-conversation-dialog.js +30 -1
- package/dist/styles/index.js +28 -1
- package/dist/styles/responsive.js +40 -1
- package/dist/styles/shared.js +54 -1
- package/dist/tracking/with-track-events.js +74 -1
- package/dist/utils.js +73 -1
- package/package.json +12 -14
- package/rnw.js +1 -1
- package/tsconfig.jest.json +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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
|
+
# [0.30.0](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.29.1...@times-components/article-comments@0.30.0) (2022-08-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **TDP-2203:** Reauthenticate users to real name commenting ([2f0f215](https://github.com/newsuk/times-components/commit/2f0f21517edeef9f469eb3690b5c2b915966c29e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.29.1](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.29.0...@times-components/article-comments@0.29.1) (2022-08-20)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @times-components/article-comments
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [0.29.0](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.28.1...@times-components/article-comments@0.29.0) (2022-08-18)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **TDP-1712:** remove react-native foreverrrrr ([#3064](https://github.com/newsuk/times-components/issues/3064)) ([2a20cb5](https://github.com/newsuk/times-components/commit/2a20cb5abc10a4e7ca2d62487967f8fcf4eccb62)), closes [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3050](https://github.com/newsuk/times-components/issues/3050) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3057](https://github.com/newsuk/times-components/issues/3057) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3065](https://github.com/newsuk/times-components/issues/3065) [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3069](https://github.com/newsuk/times-components/issues/3069) [#3068](https://github.com/newsuk/times-components/issues/3068) [#3070](https://github.com/newsuk/times-components/issues/3070) [#3072](https://github.com/newsuk/times-components/issues/3072) [#3073](https://github.com/newsuk/times-components/issues/3073) [#3071](https://github.com/newsuk/times-components/issues/3071) [#3074](https://github.com/newsuk/times-components/issues/3074) [#3076](https://github.com/newsuk/times-components/issues/3076) [#3079](https://github.com/newsuk/times-components/issues/3079) [#3078](https://github.com/newsuk/times-components/issues/3078) [#3083](https://github.com/newsuk/times-components/issues/3083) [#3087](https://github.com/newsuk/times-components/issues/3087) [#3091](https://github.com/newsuk/times-components/issues/3091) [#3096](https://github.com/newsuk/times-components/issues/3096) [#3102](https://github.com/newsuk/times-components/issues/3102) [#3105](https://github.com/newsuk/times-components/issues/3105) [#3108](https://github.com/newsuk/times-components/issues/3108) [#3111](https://github.com/newsuk/times-components/issues/3111) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3113](https://github.com/newsuk/times-components/issues/3113) [#3114](https://github.com/newsuk/times-components/issues/3114) [#3120](https://github.com/newsuk/times-components/issues/3120) [#3119](https://github.com/newsuk/times-components/issues/3119) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3127](https://github.com/newsuk/times-components/issues/3127) [#3116](https://github.com/newsuk/times-components/issues/3116) [#3128](https://github.com/newsuk/times-components/issues/3128) [#3132](https://github.com/newsuk/times-components/issues/3132) [#3133](https://github.com/newsuk/times-components/issues/3133)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
## [0.28.1](https://github.com/newsuk/times-components/compare/@times-components/article-comments@0.28.0...@times-components/article-comments@0.28.1) (2022-08-15)
|
|
7
37
|
|
|
8
38
|
**Note:** Version bump only for package @times-components/article-comments
|
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Article Comments
|
|
2
2
|
|
|
3
|
-
This package provides a comment component for all platforms.
|
|
4
|
-
variants have their own provider within the package so they can retrieve comment
|
|
5
|
-
counts independently from the parent article.
|
|
3
|
+
This package provides a comment component for all platforms.
|
|
6
4
|
|
|
7
5
|
## Contributing
|
|
8
6
|
|
package/babel.config.js
CHANGED
|
@@ -3,8 +3,19 @@ module.exports = api => {
|
|
|
3
3
|
return {
|
|
4
4
|
plugins: [
|
|
5
5
|
"babel-plugin-styled-components",
|
|
6
|
-
"@babel/plugin-
|
|
6
|
+
"@babel/plugin-proposal-export-default-from"
|
|
7
7
|
],
|
|
8
|
-
presets: [
|
|
8
|
+
presets: [
|
|
9
|
+
[
|
|
10
|
+
"@babel/preset-env",
|
|
11
|
+
{
|
|
12
|
+
targets: {
|
|
13
|
+
esmodules: true
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"@babel/preset-react",
|
|
18
|
+
"@babel/preset-typescript"
|
|
19
|
+
]
|
|
9
20
|
};
|
|
10
21
|
};
|
package/dist/article-comments.js
CHANGED
|
@@ -1 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _userState = _interopRequireDefault(require("@times-components/user-state"));
|
|
13
|
+
|
|
14
|
+
var _tsComponents = require("@times-components/ts-components");
|
|
15
|
+
|
|
16
|
+
var _comments = _interopRequireDefault(require("./comments"));
|
|
17
|
+
|
|
18
|
+
var _disabledComments = _interopRequireDefault(require("./disabled-comments"));
|
|
19
|
+
|
|
20
|
+
var _responsive = require("./styles/responsive");
|
|
21
|
+
|
|
22
|
+
var _joinTheConversationDialog = _interopRequireDefault(require("./join-the-conversation-dialog"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
26
|
+
/* eslint-env browser */
|
|
27
|
+
const ArticleComments = _ref => {
|
|
28
|
+
let articleId = _ref.articleId,
|
|
29
|
+
publishedTime = _ref.publishedTime,
|
|
30
|
+
isEnabled = _ref.isEnabled,
|
|
31
|
+
isReadOnly = _ref.isReadOnly,
|
|
32
|
+
commentingConfig = _ref.commentingConfig;
|
|
33
|
+
return isEnabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_userState.default, {
|
|
34
|
+
state: _userState.default.metered
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_joinTheConversationDialog.default, null)), /*#__PURE__*/_react.default.createElement(_userState.default, {
|
|
36
|
+
state: _userState.default.subscriber
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, null, /*#__PURE__*/_react.default.createElement(_tsComponents.HiddenDiv, {
|
|
38
|
+
className: "comment-banner"
|
|
39
|
+
})), /*#__PURE__*/_react.default.createElement(_comments.default, {
|
|
40
|
+
articleId: articleId,
|
|
41
|
+
publishedTime: publishedTime,
|
|
42
|
+
isReadOnly: isReadOnly,
|
|
43
|
+
commentingConfig: commentingConfig
|
|
44
|
+
}))) : /*#__PURE__*/_react.default.createElement(_disabledComments.default, null);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
ArticleComments.propTypes = {
|
|
48
|
+
articleId: _propTypes.default.string.isRequired,
|
|
49
|
+
publishedTime: _propTypes.default.string.isRequired,
|
|
50
|
+
isEnabled: _propTypes.default.bool.isRequired,
|
|
51
|
+
isReadOnly: _propTypes.default.bool,
|
|
52
|
+
commentingConfig: _propTypes.default.shape({
|
|
53
|
+
accounts: _propTypes.default.shape({
|
|
54
|
+
current: _propTypes.default.string.isRequired,
|
|
55
|
+
readOnly: _propTypes.default.string.isRequired
|
|
56
|
+
}),
|
|
57
|
+
switchOver: _propTypes.default.string.isRequired
|
|
58
|
+
}).isRequired
|
|
59
|
+
};
|
|
60
|
+
ArticleComments.defaultProps = {
|
|
61
|
+
isReadOnly: false
|
|
62
|
+
};
|
|
63
|
+
var _default = ArticleComments;
|
|
64
|
+
exports.default = _default;
|
package/dist/comment-login.js
CHANGED
|
@@ -1 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.ssoCallback = void 0;
|
|
7
|
+
|
|
8
|
+
/* eslint-env browser */
|
|
9
|
+
const loginRequest = (url, completeSSOCallback) => {
|
|
10
|
+
const xhr = new XMLHttpRequest();
|
|
11
|
+
xhr.addEventListener("load", () => {
|
|
12
|
+
const success = xhr.status === 200;
|
|
13
|
+
|
|
14
|
+
const _ref = success ? JSON.parse(xhr.response) : {},
|
|
15
|
+
spotimCodeB = _ref.spotimCodeB;
|
|
16
|
+
|
|
17
|
+
if (spotimCodeB) {
|
|
18
|
+
completeSSOCallback(spotimCodeB);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
xhr.open("GET", url);
|
|
22
|
+
xhr.send();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const ssoCallback = (codeA, completeSSOCallback) => loginRequest("/api/comments/loginv2?codeA=".concat(encodeURIComponent(codeA)), completeSSOCallback);
|
|
26
|
+
|
|
27
|
+
exports.ssoCallback = ssoCallback;
|
|
28
|
+
|
|
29
|
+
const setNewUserToken = () => {
|
|
30
|
+
window.localStorage.setItem("isUsingRealNameCommenting", true);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const executeSSOtransaction = callback => {
|
|
34
|
+
if (window.SPOTIM && window.SPOTIM.startSSO) {
|
|
35
|
+
window.SPOTIM.startSSO(ssoCallback);
|
|
36
|
+
callback();
|
|
37
|
+
const isFeatureFlagEnabled = window.location.search.includes("enableRealNameCommenting");
|
|
38
|
+
|
|
39
|
+
if (isFeatureFlagEnabled) {
|
|
40
|
+
setNewUserToken();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _default = executeSSOtransaction;
|
|
46
|
+
exports.default = _default;
|
package/dist/comments.js
CHANGED
|
@@ -1 +1,269 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _react=_interopRequireWildcard(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _responsive=require("./styles/responsive");var _commentLogin=_interopRequireDefault(require("./comment-login"));var _withTrackEvents=_interopRequireDefault(require("./tracking/with-track-events"));var _utils=require("./utils");var _jsxFileName="/home/circleci/project/packages/article-comments/src/comments.js";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2.default)(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2.default)(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2.default)(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var Comments=function(_Component){(0,_inherits2.default)(Comments,_Component);var _super=_createSuper(Comments);function Comments(){var _this;(0,_classCallCheck2.default)(this,Comments);_this=_super.call(this);_this.container=null;return _this;}(0,_createClass2.default)(Comments,[{key:"componentDidMount",value:function componentDidMount(){this.initialiseComments();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.disposeComments();}},{key:"initialiseComments",value:function initialiseComments(){var _this$props=this.props,articleId=_this$props.articleId,isReadOnly=_this$props.isReadOnly,publishedTime=_this$props.publishedTime,commentingConfig=_this$props.commentingConfig,onCommentStart=_this$props.onCommentStart,onCommentPost=_this$props.onCommentPost,onCommentNotification=_this$props.onCommentNotification,onCommentFilterNewest=_this$props.onCommentFilterNewest,onCommentFilterMostRecommended=_this$props.onCommentFilterMostRecommended,onCommentFilterOldest=_this$props.onCommentFilterOldest,onCommentReplyClick=_this$props.onCommentReplyClick,onCommentShareLink=_this$props.onCommentShareLink,onCommentShareTwitter=_this$props.onCommentShareTwitter,onCommentShareEmail=_this$props.onCommentShareEmail,onCommentShareFacebook=_this$props.onCommentShareFacebook,onCommentRecommend=_this$props.onCommentRecommend,onCommentNotificationClicked=_this$props.onCommentNotificationClicked,onCommentUsernameClicked=_this$props.onCommentUsernameClicked,onCommentSettingsClicked=_this$props.onCommentSettingsClicked;if(!this.container||!articleId||!commentingConfig){return;}var getFilterEvent=function getFilterEvent(event){switch(event.detail.sortedBy){case"best":return onCommentFilterMostRecommended(event);case"oldest":return onCommentFilterOldest(event);case"newest":return onCommentFilterNewest(event);default:return null;}};var getShareEvent=function getShareEvent(event){switch(event.detail.type){case"link":return onCommentShareLink(event);case"email":return onCommentShareEmail(event);case"twitter":return onCommentShareTwitter(event);case"facebook":return onCommentShareFacebook(event);default:return null;}};var spotAccountId=commentingConfig.account.readOnly;if(commentingConfig&&commentingConfig.switchOver){var switchOverDate=commentingConfig.switchOver;if(publishedTime>switchOverDate){spotAccountId=commentingConfig.account.current;}}var isFeatureFlagEnabled=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",function _callee(event){var displayName,shouldShowBanner;return _regenerator.default.async(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:onCommentStart(event);if(!isFeatureFlagEnabled){_context.next=9;break;}displayName=(0,_utils.getDisplayNameFromLocalStorage)();if(displayName){_context.next=5;break;}return _context.abrupt("return");case 5:_context.next=7;return _regenerator.default.awrap((0,_utils.userShouldUpdateName)(displayName));case 7:shouldShowBanner=_context.sent;if(shouldShowBanner){window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}));}case 9:case"end":return _context.stop();}}},null,null,null,Promise);},{once:true});document.addEventListener("spot-im-current-user-sent-message",onCommentPost);document.addEventListener("spot-im-notification-drop-down-link",onCommentNotification);document.addEventListener("spot-im-user-up-vote-click",onCommentRecommend);document.addEventListener("spot-im-sort-by-select",function(event){return getFilterEvent(event);});document.addEventListener("spot-im-user-clicked-reply",onCommentReplyClick);document.addEventListener("spot-im-clicked-settings",onCommentSettingsClicked);document.addEventListener("spot-im-user-notifications-click",onCommentNotificationClicked);document.addEventListener("spot-im-open-user-profile",onCommentUsernameClicked);document.addEventListener("spot-im-share-type",function(event){return getShareEvent(event);});if(!isReadOnly){if(window.SPOTIM&&window.SPOTIM.startSSO){(0,_commentLogin.default)(function(){});}else{document.addEventListener("spot-im-api-ready",function(){(0,_commentLogin.default)(function(){});});}}var launcherScript=document.createElement("script");launcherScript.setAttribute("async","async");launcherScript.setAttribute("src","https://launcher.spot.im/spot/"+spotAccountId);launcherScript.setAttribute("data-spotim-module","spotim-launcher");launcherScript.setAttribute("data-post-id",articleId);launcherScript.setAttribute("data-post-url","https://www.thetimes.co.uk/article/"+articleId);launcherScript.setAttribute("data-seo-enabled",true);launcherScript.setAttribute("data-livefyre-url",articleId);this.container.appendChild(launcherScript);}},{key:"disposeComments",value:function disposeComments(){if(this.container){this.container.innerHTML="";}}},{key:"render",value:function render(){var _this2=this;var _this$props2=this.props,onCommentStart=_this$props2.onCommentStart,onCommentPost=_this$props2.onCommentPost,onCommentNotification=_this$props2.onCommentNotification,onCommentFilterNewest=_this$props2.onCommentFilterNewest,onCommentFilterMostRecommended=_this$props2.onCommentFilterMostRecommended,onCommentFilterOldest=_this$props2.onCommentFilterOldest,onCommentReplyClick=_this$props2.onCommentReplyClick,onCommentShareLink=_this$props2.onCommentShareLink,onCommentShareTwitter=_this$props2.onCommentShareTwitter,onCommentShareEmail=_this$props2.onCommentShareEmail,onCommentShareFacebook=_this$props2.onCommentShareFacebook,onCommentRecommend=_this$props2.onCommentRecommend,onCommentNotificationClicked=_this$props2.onCommentNotificationClicked,onCommentUsernameClicked=_this$props2.onCommentUsernameClicked,onCommentSettingsClicked=_this$props2.onCommentSettingsClicked;return _react.default.createElement(_responsive.CommentContainer,{id:"comments-container",onCommentStart:onCommentStart,onCommentPost:onCommentPost,onCommentNotification:onCommentNotification,onCommentReplyClick:onCommentReplyClick,onCommentFilterNewest:onCommentFilterNewest,onCommentFilterMostRecommended:onCommentFilterMostRecommended,onCommentFilterOldest:onCommentFilterOldest,onCommentShareLink:onCommentShareLink,onCommentShareTwitter:onCommentShareTwitter,onCommentShareEmail:onCommentShareEmail,onCommentShareFacebook:onCommentShareFacebook,onCommentRecommend:onCommentRecommend,onCommentNotificationClicked:onCommentNotificationClicked,onCommentUsernameClicked:onCommentUsernameClicked,onCommentSettingsClicked:onCommentSettingsClicked,__source:{fileName:_jsxFileName,lineNumber:199,columnNumber:7}},_react.default.createElement("div",{ref:function ref(el){_this2.container=el;},__source:{fileName:_jsxFileName,lineNumber:217,columnNumber:9}}));}}]);return Comments;}(_react.Component);Comments.propTypes={articleId:_propTypes.default.string.isRequired,isReadOnly:_propTypes.default.bool.isRequired,commentingConfig:_propTypes.default.shape({accounts:_propTypes.default.shape({current:_propTypes.default.string.isRequired,readOnly:_propTypes.default.string.isRequired}),switchOver:_propTypes.default.string.isRequired}).isRequired,publishedTime:_propTypes.default.string.isRequired,onCommentStart:_propTypes.default.func,onCommentPost:_propTypes.default.func,onCommentNotification:_propTypes.default.func,onCommentFilterNewest:_propTypes.default.func,onCommentFilterMostRecommended:_propTypes.default.func,onCommentFilterOldest:_propTypes.default.func,onCommentReplyClick:_propTypes.default.func,onCommentShareLink:_propTypes.default.func,onCommentShareTwitter:_propTypes.default.func,onCommentShareEmail:_propTypes.default.func,onCommentShareFacebook:_propTypes.default.func,onCommentRecommend:_propTypes.default.func,onCommentNotificationClicked:_propTypes.default.func,onCommentUsernameClicked:_propTypes.default.func,onCommentSettingsClicked:_propTypes.default.func};Comments.defaultProps={onCommentStart:function onCommentStart(){},onCommentPost:function onCommentPost(){},onCommentNotification:function onCommentNotification(){},onCommentReplyClick:function onCommentReplyClick(){},onCommentFilterNewest:function onCommentFilterNewest(){},onCommentFilterMostRecommended:function onCommentFilterMostRecommended(){},onCommentFilterOldest:function onCommentFilterOldest(){},onCommentShareLink:function onCommentShareLink(){},onCommentShareTwitter:function onCommentShareTwitter(){},onCommentShareEmail:function onCommentShareEmail(){},onCommentShareFacebook:function onCommentShareFacebook(){},onCommentRecommend:function onCommentRecommend(){},onCommentNotificationClicked:function onCommentNotificationClicked(){},onCommentUsernameClicked:function onCommentUsernameClicked(){},onCommentSettingsClicked:function onCommentSettingsClicked(){}};var _default=(0,_withTrackEvents.default)(Comments);exports.default=_default;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _responsive = require("./styles/responsive");
|
|
13
|
+
|
|
14
|
+
var _commentLogin = _interopRequireDefault(require("./comment-login"));
|
|
15
|
+
|
|
16
|
+
var _withTrackEvents = _interopRequireDefault(require("./tracking/with-track-events"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("./utils");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
26
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
27
|
+
|
|
28
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
29
|
+
|
|
30
|
+
class Comments extends _react.Component {
|
|
31
|
+
constructor() {
|
|
32
|
+
super();
|
|
33
|
+
this.container = null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
componentDidMount() {
|
|
37
|
+
this.initialiseComments();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
componentWillUnmount() {
|
|
41
|
+
this.disposeComments();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
initialiseComments() {
|
|
45
|
+
const _this$props = this.props,
|
|
46
|
+
articleId = _this$props.articleId,
|
|
47
|
+
isReadOnly = _this$props.isReadOnly,
|
|
48
|
+
publishedTime = _this$props.publishedTime,
|
|
49
|
+
commentingConfig = _this$props.commentingConfig,
|
|
50
|
+
onCommentStart = _this$props.onCommentStart,
|
|
51
|
+
onCommentPost = _this$props.onCommentPost,
|
|
52
|
+
onCommentNotification = _this$props.onCommentNotification,
|
|
53
|
+
onCommentFilterNewest = _this$props.onCommentFilterNewest,
|
|
54
|
+
onCommentFilterMostRecommended = _this$props.onCommentFilterMostRecommended,
|
|
55
|
+
onCommentFilterOldest = _this$props.onCommentFilterOldest,
|
|
56
|
+
onCommentReplyClick = _this$props.onCommentReplyClick,
|
|
57
|
+
onCommentShareLink = _this$props.onCommentShareLink,
|
|
58
|
+
onCommentShareTwitter = _this$props.onCommentShareTwitter,
|
|
59
|
+
onCommentShareEmail = _this$props.onCommentShareEmail,
|
|
60
|
+
onCommentShareFacebook = _this$props.onCommentShareFacebook,
|
|
61
|
+
onCommentRecommend = _this$props.onCommentRecommend,
|
|
62
|
+
onCommentNotificationClicked = _this$props.onCommentNotificationClicked,
|
|
63
|
+
onCommentUsernameClicked = _this$props.onCommentUsernameClicked,
|
|
64
|
+
onCommentSettingsClicked = _this$props.onCommentSettingsClicked;
|
|
65
|
+
|
|
66
|
+
if (!this.container || !articleId || !commentingConfig) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const getFilterEvent = event => {
|
|
71
|
+
switch (event.detail.sortedBy) {
|
|
72
|
+
case "best":
|
|
73
|
+
return onCommentFilterMostRecommended(event);
|
|
74
|
+
|
|
75
|
+
case "oldest":
|
|
76
|
+
return onCommentFilterOldest(event);
|
|
77
|
+
|
|
78
|
+
case "newest":
|
|
79
|
+
return onCommentFilterNewest(event);
|
|
80
|
+
|
|
81
|
+
default:
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const getShareEvent = event => {
|
|
87
|
+
switch (event.detail.type) {
|
|
88
|
+
case "link":
|
|
89
|
+
return onCommentShareLink(event);
|
|
90
|
+
|
|
91
|
+
case "email":
|
|
92
|
+
return onCommentShareEmail(event);
|
|
93
|
+
|
|
94
|
+
case "twitter":
|
|
95
|
+
return onCommentShareTwitter(event);
|
|
96
|
+
|
|
97
|
+
case "facebook":
|
|
98
|
+
return onCommentShareFacebook(event);
|
|
99
|
+
|
|
100
|
+
default:
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
let spotAccountId = commentingConfig.account.readOnly;
|
|
106
|
+
|
|
107
|
+
if (commentingConfig && commentingConfig.switchOver) {
|
|
108
|
+
const switchOverDate = commentingConfig.switchOver;
|
|
109
|
+
|
|
110
|
+
if (publishedTime > switchOverDate) {
|
|
111
|
+
spotAccountId = commentingConfig.account.current;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const isFeatureFlagEnabled = window.location.search.includes("enableRealNameCommenting");
|
|
116
|
+
document.addEventListener("spot-im-current-user-typing-start", /*#__PURE__*/function () {
|
|
117
|
+
var _ref = _asyncToGenerator(function* (event) {
|
|
118
|
+
onCommentStart(event);
|
|
119
|
+
|
|
120
|
+
if (isFeatureFlagEnabled) {
|
|
121
|
+
const displayName = (0, _utils.getDisplayNameFromLocalStorage)();
|
|
122
|
+
if (!displayName) return;
|
|
123
|
+
const shouldShowBanner = yield (0, _utils.userShouldUpdateName)(displayName);
|
|
124
|
+
|
|
125
|
+
if (shouldShowBanner) {
|
|
126
|
+
window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER", {}));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
return function (_x) {
|
|
132
|
+
return _ref.apply(this, arguments);
|
|
133
|
+
};
|
|
134
|
+
}(), {
|
|
135
|
+
once: true
|
|
136
|
+
});
|
|
137
|
+
document.addEventListener("spot-im-current-user-sent-message", onCommentPost);
|
|
138
|
+
document.addEventListener("spot-im-notification-drop-down-link", onCommentNotification);
|
|
139
|
+
document.addEventListener("spot-im-user-up-vote-click", onCommentRecommend);
|
|
140
|
+
document.addEventListener("spot-im-sort-by-select", event => getFilterEvent(event));
|
|
141
|
+
document.addEventListener("spot-im-user-clicked-reply", onCommentReplyClick);
|
|
142
|
+
document.addEventListener("spot-im-clicked-settings", onCommentSettingsClicked);
|
|
143
|
+
document.addEventListener("spot-im-user-notifications-click", onCommentNotificationClicked);
|
|
144
|
+
document.addEventListener("spot-im-open-user-profile", onCommentUsernameClicked);
|
|
145
|
+
document.addEventListener("spot-im-share-type", event => getShareEvent(event));
|
|
146
|
+
|
|
147
|
+
if (!isReadOnly) {
|
|
148
|
+
if (window.SPOTIM && window.SPOTIM.startSSO) {
|
|
149
|
+
(0, _commentLogin.default)(() => {});
|
|
150
|
+
} else {
|
|
151
|
+
document.addEventListener("spot-im-api-ready", () => {
|
|
152
|
+
if (isFeatureFlagEnabled) {
|
|
153
|
+
(0, _utils.shouldReauthenticateUser)();
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
(0, _commentLogin.default)(() => {});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
const launcherScript = document.createElement("script");
|
|
162
|
+
launcherScript.setAttribute("async", "async");
|
|
163
|
+
launcherScript.setAttribute("src", "https://launcher.spot.im/spot/".concat(spotAccountId));
|
|
164
|
+
launcherScript.setAttribute("data-spotim-module", "spotim-launcher");
|
|
165
|
+
launcherScript.setAttribute("data-post-id", articleId);
|
|
166
|
+
launcherScript.setAttribute("data-post-url", "https://www.thetimes.co.uk/article/".concat(articleId));
|
|
167
|
+
launcherScript.setAttribute("data-seo-enabled", true);
|
|
168
|
+
launcherScript.setAttribute("data-livefyre-url", articleId);
|
|
169
|
+
this.container.appendChild(launcherScript);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
disposeComments() {
|
|
173
|
+
if (this.container) {
|
|
174
|
+
this.container.innerHTML = "";
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
render() {
|
|
179
|
+
const _this$props2 = this.props,
|
|
180
|
+
onCommentStart = _this$props2.onCommentStart,
|
|
181
|
+
onCommentPost = _this$props2.onCommentPost,
|
|
182
|
+
onCommentNotification = _this$props2.onCommentNotification,
|
|
183
|
+
onCommentFilterNewest = _this$props2.onCommentFilterNewest,
|
|
184
|
+
onCommentFilterMostRecommended = _this$props2.onCommentFilterMostRecommended,
|
|
185
|
+
onCommentFilterOldest = _this$props2.onCommentFilterOldest,
|
|
186
|
+
onCommentReplyClick = _this$props2.onCommentReplyClick,
|
|
187
|
+
onCommentShareLink = _this$props2.onCommentShareLink,
|
|
188
|
+
onCommentShareTwitter = _this$props2.onCommentShareTwitter,
|
|
189
|
+
onCommentShareEmail = _this$props2.onCommentShareEmail,
|
|
190
|
+
onCommentShareFacebook = _this$props2.onCommentShareFacebook,
|
|
191
|
+
onCommentRecommend = _this$props2.onCommentRecommend,
|
|
192
|
+
onCommentNotificationClicked = _this$props2.onCommentNotificationClicked,
|
|
193
|
+
onCommentUsernameClicked = _this$props2.onCommentUsernameClicked,
|
|
194
|
+
onCommentSettingsClicked = _this$props2.onCommentSettingsClicked;
|
|
195
|
+
return /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, {
|
|
196
|
+
id: "comments-container",
|
|
197
|
+
onCommentStart: onCommentStart,
|
|
198
|
+
onCommentPost: onCommentPost,
|
|
199
|
+
onCommentNotification: onCommentNotification,
|
|
200
|
+
onCommentReplyClick: onCommentReplyClick,
|
|
201
|
+
onCommentFilterNewest: onCommentFilterNewest,
|
|
202
|
+
onCommentFilterMostRecommended: onCommentFilterMostRecommended,
|
|
203
|
+
onCommentFilterOldest: onCommentFilterOldest,
|
|
204
|
+
onCommentShareLink: onCommentShareLink,
|
|
205
|
+
onCommentShareTwitter: onCommentShareTwitter,
|
|
206
|
+
onCommentShareEmail: onCommentShareEmail,
|
|
207
|
+
onCommentShareFacebook: onCommentShareFacebook,
|
|
208
|
+
onCommentRecommend: onCommentRecommend,
|
|
209
|
+
onCommentNotificationClicked: onCommentNotificationClicked,
|
|
210
|
+
onCommentUsernameClicked: onCommentUsernameClicked,
|
|
211
|
+
onCommentSettingsClicked: onCommentSettingsClicked
|
|
212
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
213
|
+
ref: el => {
|
|
214
|
+
this.container = el;
|
|
215
|
+
}
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
Comments.propTypes = {
|
|
222
|
+
articleId: _propTypes.default.string.isRequired,
|
|
223
|
+
isReadOnly: _propTypes.default.bool.isRequired,
|
|
224
|
+
commentingConfig: _propTypes.default.shape({
|
|
225
|
+
accounts: _propTypes.default.shape({
|
|
226
|
+
current: _propTypes.default.string.isRequired,
|
|
227
|
+
readOnly: _propTypes.default.string.isRequired
|
|
228
|
+
}),
|
|
229
|
+
switchOver: _propTypes.default.string.isRequired
|
|
230
|
+
}).isRequired,
|
|
231
|
+
publishedTime: _propTypes.default.string.isRequired,
|
|
232
|
+
onCommentStart: _propTypes.default.func,
|
|
233
|
+
onCommentPost: _propTypes.default.func,
|
|
234
|
+
onCommentNotification: _propTypes.default.func,
|
|
235
|
+
onCommentFilterNewest: _propTypes.default.func,
|
|
236
|
+
onCommentFilterMostRecommended: _propTypes.default.func,
|
|
237
|
+
onCommentFilterOldest: _propTypes.default.func,
|
|
238
|
+
onCommentReplyClick: _propTypes.default.func,
|
|
239
|
+
onCommentShareLink: _propTypes.default.func,
|
|
240
|
+
onCommentShareTwitter: _propTypes.default.func,
|
|
241
|
+
onCommentShareEmail: _propTypes.default.func,
|
|
242
|
+
onCommentShareFacebook: _propTypes.default.func,
|
|
243
|
+
onCommentRecommend: _propTypes.default.func,
|
|
244
|
+
onCommentNotificationClicked: _propTypes.default.func,
|
|
245
|
+
onCommentUsernameClicked: _propTypes.default.func,
|
|
246
|
+
onCommentSettingsClicked: _propTypes.default.func
|
|
247
|
+
}; // onCommentStart and onCommentPost are added as props in order to allow this events to be tracked by analytics.
|
|
248
|
+
|
|
249
|
+
Comments.defaultProps = {
|
|
250
|
+
onCommentStart: () => {},
|
|
251
|
+
onCommentPost: () => {},
|
|
252
|
+
onCommentNotification: () => {},
|
|
253
|
+
onCommentReplyClick: () => {},
|
|
254
|
+
onCommentFilterNewest: () => {},
|
|
255
|
+
onCommentFilterMostRecommended: () => {},
|
|
256
|
+
onCommentFilterOldest: () => {},
|
|
257
|
+
onCommentShareLink: () => {},
|
|
258
|
+
onCommentShareTwitter: () => {},
|
|
259
|
+
onCommentShareEmail: () => {},
|
|
260
|
+
onCommentShareFacebook: () => {},
|
|
261
|
+
onCommentRecommend: () => {},
|
|
262
|
+
onCommentNotificationClicked: () => {},
|
|
263
|
+
onCommentUsernameClicked: () => {},
|
|
264
|
+
onCommentSettingsClicked: () => {}
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
var _default = (0, _withTrackEvents.default)(Comments);
|
|
268
|
+
|
|
269
|
+
exports.default = _default;
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _link = require("@times-components/link");
|
|
11
|
+
|
|
12
|
+
var _responsive = require("./styles/responsive");
|
|
13
|
+
|
|
14
|
+
var _styles = _interopRequireDefault(require("./styles"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const DisabledComments = () => /*#__PURE__*/_react.default.createElement(_responsive.CommentContainer, null, /*#__PURE__*/_react.default.createElement(_responsive.CommentDisabledHeadline, null, "Comments for this article have been turned off"), /*#__PURE__*/_react.default.createElement(_responsive.CommentDisabledGuidelines, null, "Comments are subject to our community guidelines, which can be viewed", " ", /*#__PURE__*/_react.default.createElement(_link.TextLink, {
|
|
19
|
+
style: _styles.default.link,
|
|
20
|
+
url: "https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"
|
|
21
|
+
}, "here"), "."));
|
|
22
|
+
|
|
23
|
+
var _default = DisabledComments;
|
|
24
|
+
exports.default = _default;
|
|
@@ -1 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = JoinTheConversationDialog;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _tsComponents = require("@times-components/ts-components");
|
|
11
|
+
|
|
12
|
+
var _utils = _interopRequireDefault(require("./utils"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
/* eslint-env browser */
|
|
17
|
+
function JoinTheConversationDialog() {
|
|
18
|
+
const isLightPackUser = window.nuk && window.nuk.user && window.nuk.user.isLightPackUser;
|
|
19
|
+
const href = isLightPackUser ? null : (0, _utils.default)(); // temp solution until the modal is moved out to a proper UI repo
|
|
20
|
+
// this event triggers cps-content-render/packages/components-global/src/FreeArticlePromotion/FreeArticleBottomBanner/FreeArticleBottomBanner.tsx
|
|
21
|
+
// todo: remove this event dispatching and implement the modal from the shared UI component repo
|
|
22
|
+
|
|
23
|
+
const onClick = isLightPackUser ? () => document && document.dispatchEvent(new Event("show::upgrade::modal")) : null;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_tsComponents.InlineDialog, {
|
|
25
|
+
title: "Join the conversation",
|
|
26
|
+
buttonText: "View offers",
|
|
27
|
+
href: href,
|
|
28
|
+
onClick: onClick
|
|
29
|
+
}, "Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.");
|
|
30
|
+
}
|
package/dist/styles/index.js
CHANGED
|
@@ -1 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _tsStyleguide = require("@times-components/ts-styleguide");
|
|
9
|
+
|
|
10
|
+
var _shared = _interopRequireDefault(require("./shared"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
+
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
const styles = _objectSpread(_objectSpread({}, _shared.default), {}, {
|
|
21
|
+
link: _objectSpread(_objectSpread({}, _shared.default.link), {}, {
|
|
22
|
+
fontFamily: _tsStyleguide.fonts.supporting,
|
|
23
|
+
fontSize: _tsStyleguide.fontSizes.commentsGuidelines
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _default = styles;
|
|
28
|
+
exports.default = _default;
|
|
@@ -1 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CommentDisabledHeadline = exports.CommentDisabledGuidelines = exports.CommentEnabledGuidelines = exports.CommentContainer = void 0;
|
|
7
|
+
|
|
8
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
|
|
10
|
+
var _tsStyleguide = require("@times-components/ts-styleguide");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const CommentContainer = _styledComponents.default.div.withConfig({
|
|
15
|
+
displayName: "responsive__CommentContainer",
|
|
16
|
+
componentId: "sc-2j1dkf-0"
|
|
17
|
+
})(["margin-left:auto;margin-right:auto;@media (min-width:", "px){width:80.8%;}@media (min-width:", "px){width:56.2%;}"], _tsStyleguide.breakpoints.medium, _tsStyleguide.breakpoints.wide);
|
|
18
|
+
|
|
19
|
+
exports.CommentContainer = CommentContainer;
|
|
20
|
+
|
|
21
|
+
const CommentEnabledGuidelines = _styledComponents.default.p.withConfig({
|
|
22
|
+
displayName: "responsive__CommentEnabledGuidelines",
|
|
23
|
+
componentId: "sc-2j1dkf-1"
|
|
24
|
+
})(["color:", ";font-family:\"", "\";font-size:", "px;margin:0 0 ", " 0;padding-left:7px;padding-top:", ";"], _tsStyleguide.colours.functional.secondary, _tsStyleguide.fonts.supporting, _tsStyleguide.fontSizes.commentsGuidelines, (0, _tsStyleguide.spacing)(-2), (0, _tsStyleguide.spacing)(6));
|
|
25
|
+
|
|
26
|
+
exports.CommentEnabledGuidelines = CommentEnabledGuidelines;
|
|
27
|
+
|
|
28
|
+
const CommentDisabledGuidelines = _styledComponents.default.p.withConfig({
|
|
29
|
+
displayName: "responsive__CommentDisabledGuidelines",
|
|
30
|
+
componentId: "sc-2j1dkf-2"
|
|
31
|
+
})(["color:", ";font-family:\"", "\";font-size:", "px;margin:0;padding-bottom:", ";padding-top:", ";text-align:center;"], _tsStyleguide.colours.functional.secondary, _tsStyleguide.fonts.supporting, _tsStyleguide.fontSizes.commentsGuidelines, (0, _tsStyleguide.spacing)(6), (0, _tsStyleguide.spacing)(1));
|
|
32
|
+
|
|
33
|
+
exports.CommentDisabledGuidelines = CommentDisabledGuidelines;
|
|
34
|
+
|
|
35
|
+
const CommentDisabledHeadline = _styledComponents.default.p.withConfig({
|
|
36
|
+
displayName: "responsive__CommentDisabledHeadline",
|
|
37
|
+
componentId: "sc-2j1dkf-3"
|
|
38
|
+
})(["color:", ";font-family:\"", "\";font-size:", "px;margin:0;padding-bottom:", ";padding-top:", ";text-align:center;"], _tsStyleguide.colours.functional.primary, _tsStyleguide.fonts.headline, _tsStyleguide.fontSizes.commentsHeadline, (0, _tsStyleguide.spacing)(1), (0, _tsStyleguide.spacing)(6));
|
|
39
|
+
|
|
40
|
+
exports.CommentDisabledHeadline = CommentDisabledHeadline;
|
package/dist/styles/shared.js
CHANGED
|
@@ -1 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _tsStyleguide = require("@times-components/ts-styleguide");
|
|
9
|
+
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
+
|
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
|
|
16
|
+
const styles = {
|
|
17
|
+
button: {
|
|
18
|
+
marginBottom: (0, _tsStyleguide.spacing)(0),
|
|
19
|
+
marginTop: (0, _tsStyleguide.spacing)(5),
|
|
20
|
+
maxWidth: 215
|
|
21
|
+
},
|
|
22
|
+
container: {
|
|
23
|
+
alignItems: "center",
|
|
24
|
+
borderStyle: "solid",
|
|
25
|
+
borderTopColor: _tsStyleguide.colours.functional.keyline,
|
|
26
|
+
borderTopWidth: 1,
|
|
27
|
+
marginBottom: (0, _tsStyleguide.spacing)(10),
|
|
28
|
+
width: "100%"
|
|
29
|
+
},
|
|
30
|
+
headline: _objectSpread(_objectSpread({
|
|
31
|
+
color: _tsStyleguide.colours.functional.primary
|
|
32
|
+
}, (0, _tsStyleguide.fontFactory)({
|
|
33
|
+
font: "headline",
|
|
34
|
+
fontSize: "commentsHeadline"
|
|
35
|
+
})), {}, {
|
|
36
|
+
maxWidth: 315,
|
|
37
|
+
paddingBottom: (0, _tsStyleguide.spacing)(2),
|
|
38
|
+
paddingTop: (0, _tsStyleguide.spacing)(6),
|
|
39
|
+
textAlign: "center"
|
|
40
|
+
}),
|
|
41
|
+
link: {
|
|
42
|
+
color: _tsStyleguide.colours.functional.action
|
|
43
|
+
},
|
|
44
|
+
supporting: _objectSpread(_objectSpread({}, (0, _tsStyleguide.fontFactory)({
|
|
45
|
+
font: "supporting",
|
|
46
|
+
fontSize: "tertiary"
|
|
47
|
+
})), {}, {
|
|
48
|
+
color: _tsStyleguide.colours.functional.secondary,
|
|
49
|
+
maxWidth: 280,
|
|
50
|
+
textAlign: "center"
|
|
51
|
+
})
|
|
52
|
+
};
|
|
53
|
+
var _default = styles;
|
|
54
|
+
exports.default = _default;
|
|
@@ -1 +1,74 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _tracking = require("@times-components/tracking");
|
|
9
|
+
|
|
10
|
+
var _default = Component => (0, _tracking.withTrackEvents)(Component, {
|
|
11
|
+
analyticsEvents: [{
|
|
12
|
+
actionName: "navigation",
|
|
13
|
+
eventName: "onCommentStart",
|
|
14
|
+
trackingName: "spot im : comment : start"
|
|
15
|
+
}, {
|
|
16
|
+
actionName: "navigation",
|
|
17
|
+
eventName: "onCommentPost",
|
|
18
|
+
trackingName: "spot im : comment : complete"
|
|
19
|
+
}, {
|
|
20
|
+
actionName: "navigation",
|
|
21
|
+
eventName: "onCommentNotification",
|
|
22
|
+
trackingName: "spot im : notification"
|
|
23
|
+
}, {
|
|
24
|
+
actionName: "navigation",
|
|
25
|
+
eventName: "onCommentFilterNewest",
|
|
26
|
+
trackingName: "spot im : sort : newest"
|
|
27
|
+
}, {
|
|
28
|
+
actionName: "navigation",
|
|
29
|
+
eventName: "onCommentFilterMostRecommended",
|
|
30
|
+
trackingName: "spot im : sort : best"
|
|
31
|
+
}, {
|
|
32
|
+
actionName: "navigation",
|
|
33
|
+
eventName: "onCommentFilterOldest",
|
|
34
|
+
trackingName: "spot im : sort : oldest"
|
|
35
|
+
}, {
|
|
36
|
+
actionName: "navigation",
|
|
37
|
+
eventName: "onCommentReplyClick",
|
|
38
|
+
trackingName: "spot im : reply"
|
|
39
|
+
}, {
|
|
40
|
+
actionName: "navigation",
|
|
41
|
+
eventName: "onCommentSettingsClicked",
|
|
42
|
+
trackingName: "spot im : settings button clicked"
|
|
43
|
+
}, {
|
|
44
|
+
actionName: "navigation",
|
|
45
|
+
eventName: "onCommentShareLink",
|
|
46
|
+
trackingName: "spot im : comment : share : copy link"
|
|
47
|
+
}, {
|
|
48
|
+
actionName: "navigation",
|
|
49
|
+
eventName: "onCommentShareEmail",
|
|
50
|
+
trackingName: "spot im : comment : share : email"
|
|
51
|
+
}, {
|
|
52
|
+
actionName: "navigation",
|
|
53
|
+
eventName: "onCommentShareTwitter",
|
|
54
|
+
trackingName: "spot im : comment : share : twitter"
|
|
55
|
+
}, {
|
|
56
|
+
actionName: "navigation",
|
|
57
|
+
eventName: "onCommentShareFacebook",
|
|
58
|
+
trackingName: "spot im : comment : share : facebook"
|
|
59
|
+
}, {
|
|
60
|
+
actionName: "navigation",
|
|
61
|
+
eventName: "onCommentRecommend",
|
|
62
|
+
trackingName: "spot im : vote up"
|
|
63
|
+
}, {
|
|
64
|
+
actionName: "navigation",
|
|
65
|
+
eventName: "onCommentUsernameClicked",
|
|
66
|
+
trackingName: "spot im : username clicked"
|
|
67
|
+
}, {
|
|
68
|
+
actionName: "navigation",
|
|
69
|
+
eventName: "onCommentNotificationClicked",
|
|
70
|
+
trackingName: "spot im : notification clicked"
|
|
71
|
+
}]
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
exports.default = _default;
|
package/dist/utils.js
CHANGED
|
@@ -1 +1,73 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.getDisplayNameFromLocalStorage = exports.shouldReauthenticateUser = exports.userShouldUpdateName = void 0;
|
|
7
|
+
|
|
8
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
9
|
+
|
|
10
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
11
|
+
|
|
12
|
+
/* global fetch window */
|
|
13
|
+
const storeURL = {
|
|
14
|
+
gb: "https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",
|
|
15
|
+
ie: "https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",
|
|
16
|
+
global: "https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const userShouldUpdateName = /*#__PURE__*/function () {
|
|
20
|
+
var _ref = _asyncToGenerator(function* (username) {
|
|
21
|
+
if (!username) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const url = "/api/comments/display-names-pseudonyms?username=".concat(username);
|
|
26
|
+
const checkUsername = fetch(url).then(response => response.json()).then(data => data);
|
|
27
|
+
|
|
28
|
+
const _yield$checkUsername = yield checkUsername,
|
|
29
|
+
isPseudonym = _yield$checkUsername.isPseudonym;
|
|
30
|
+
|
|
31
|
+
if (!isPseudonym) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return isPseudonym;
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return function userShouldUpdateName(_x) {
|
|
39
|
+
return _ref.apply(this, arguments);
|
|
40
|
+
};
|
|
41
|
+
}();
|
|
42
|
+
|
|
43
|
+
exports.userShouldUpdateName = userShouldUpdateName;
|
|
44
|
+
|
|
45
|
+
const shouldReauthenticateUser = () => {
|
|
46
|
+
const isUsingRealNameCommenting = window.localStorage.getItem("isUsingRealNameCommenting");
|
|
47
|
+
if (isUsingRealNameCommenting) return;
|
|
48
|
+
window.localStorage.removeItem("SPOTIM_DEVICE_V2");
|
|
49
|
+
window.localStorage.removeItem("SPOTIM_CURRENT_USER");
|
|
50
|
+
window.localStorage.removeItem("SPOTIM_ACCESS_TOKEN");
|
|
51
|
+
window.localStorage.removeItem("SPOT_AB");
|
|
52
|
+
window.localStorage.removeItem("SPOTIM_DEVICE_UUID_V2");
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.shouldReauthenticateUser = shouldReauthenticateUser;
|
|
56
|
+
|
|
57
|
+
const getDisplayNameFromLocalStorage = () => {
|
|
58
|
+
const spotimUserDetails = window.localStorage.getItem("SPOTIM_CURRENT_USER");
|
|
59
|
+
if (!spotimUserDetails) return false;
|
|
60
|
+
const spotimUserDetailsJSON = spotimUserDetails && JSON.parse(spotimUserDetails);
|
|
61
|
+
const displayName = spotimUserDetailsJSON.data.displayName;
|
|
62
|
+
return displayName || false;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
exports.getDisplayNameFromLocalStorage = getDisplayNameFromLocalStorage;
|
|
66
|
+
|
|
67
|
+
var _default = () => {
|
|
68
|
+
const region = // eslint-disable-next-line no-undef
|
|
69
|
+
typeof window !== "undefined" && window.nuk && window.nuk.region;
|
|
70
|
+
return storeURL[region] || storeURL.gb;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/article-comments",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Article Comments",
|
|
5
5
|
"main": "dist/article-comments",
|
|
6
6
|
"dev": "src/article-comments",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"fmt": "eslint . --fix && prettier --write '**/*.*'",
|
|
10
10
|
"prettier:diff": "prettier --list-different '**/*.*'",
|
|
11
11
|
"lint": "eslint . && yarn prettier:diff && yarn depcheck",
|
|
12
|
-
"test:web": "jest --config='./__tests__/
|
|
12
|
+
"test:web": "jest --config='./__tests__/jest.config.js'",
|
|
13
13
|
"prepublishOnly": "yarn transpile && yarn bundle",
|
|
14
14
|
"watch": "watch 'yarn bundle' ./src --ignoreDotFiles --ignoreUnreadable",
|
|
15
15
|
"cleanup-dist": "rm -rf dist",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/newsuk/times-components#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@times-components/link": "3.
|
|
35
|
-
"@times-components/tracking": "2.
|
|
36
|
-
"@times-components/ts-components": "1.
|
|
37
|
-
"@times-components/ts-styleguide": "1.
|
|
38
|
-
"@times-components/user-state": "0.
|
|
34
|
+
"@times-components/link": "3.11.0",
|
|
35
|
+
"@times-components/tracking": "2.12.1",
|
|
36
|
+
"@times-components/ts-components": "1.52.1",
|
|
37
|
+
"@times-components/ts-styleguide": "1.37.0",
|
|
38
|
+
"@times-components/user-state": "0.4.0",
|
|
39
39
|
"prop-types": "15.7.2",
|
|
40
40
|
"styled-components": "4.3.2"
|
|
41
41
|
},
|
|
@@ -44,11 +44,10 @@
|
|
|
44
44
|
"@testing-library/jest-dom": "^5.12.0",
|
|
45
45
|
"@testing-library/react": "^12.1.2",
|
|
46
46
|
"@times-components/eslint-config-thetimes": "0.8.18",
|
|
47
|
-
"@times-components/jest-configurator": "
|
|
48
|
-
"@times-components/storybook": "4.
|
|
49
|
-
"@times-components/webpack-configurator": "2.0
|
|
47
|
+
"@times-components/jest-configurator-web": "0.8.0",
|
|
48
|
+
"@times-components/storybook": "4.5.0",
|
|
49
|
+
"@times-components/webpack-configurator": "2.1.0",
|
|
50
50
|
"babel-jest": "24.8.0",
|
|
51
|
-
"babel-plugin-styled-components": "1.10.6",
|
|
52
51
|
"eslint": "5.9.0",
|
|
53
52
|
"jest": "24.8.0",
|
|
54
53
|
"jest-styled-components": "6.3.1",
|
|
@@ -56,8 +55,7 @@
|
|
|
56
55
|
"react": "16.9.0",
|
|
57
56
|
"react-dom": "16.9.0",
|
|
58
57
|
"react-test-renderer": "16.9.0",
|
|
59
|
-
"webpack": "4.30.0"
|
|
60
|
-
"webpack-cli": "3.3.1"
|
|
58
|
+
"webpack": "4.30.0"
|
|
61
59
|
},
|
|
62
60
|
"resolutions": {
|
|
63
61
|
"react": "16.9.0",
|
|
@@ -70,5 +68,5 @@
|
|
|
70
68
|
"publishConfig": {
|
|
71
69
|
"access": "public"
|
|
72
70
|
},
|
|
73
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "5477307832a741d1a232a3854185314fe728d41d"
|
|
74
72
|
}
|
package/rnw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("react")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.CommentDisabledHeadline=t.CommentDisabledGuidelines=t.CommentEnabledGuidelines=t.CommentContainer=void 0;var i=o(n(17)),r=n(3),a=i.default.div.withConfig({displayName:"responsive__CommentContainer",componentId:"sc-2j1dkf-0"})(["margin-left:auto;margin-right:auto;@media (min-width:","px){width:80.8%;}@media (min-width:","px){width:56.2%;}"],r.breakpoints.medium,r.breakpoints.wide);t.CommentContainer=a;var m=i.default.p.withConfig({displayName:"responsive__CommentEnabledGuidelines",componentId:"sc-2j1dkf-1"})(["color:",';font-family:"','";font-size:',"px;margin:0 0 "," 0;padding-left:7px;padding-top:",";"],r.colours.functional.secondary,r.fonts.supporting,r.fontSizes.commentsGuidelines,(0,r.spacing)(-2),(0,r.spacing)(6));t.CommentEnabledGuidelines=m;var c=i.default.p.withConfig({displayName:"responsive__CommentDisabledGuidelines",componentId:"sc-2j1dkf-2"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],r.colours.functional.secondary,r.fonts.supporting,r.fontSizes.commentsGuidelines,(0,r.spacing)(6),(0,r.spacing)(1));t.CommentDisabledGuidelines=c;var u=i.default.p.withConfig({displayName:"responsive__CommentDisabledHeadline",componentId:"sc-2j1dkf-3"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],r.colours.functional.primary,r.fonts.headline,r.fontSizes.commentsHeadline,(0,r.spacing)(1),(0,r.spacing)(6));t.CommentDisabledHeadline=u},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("@babel/runtime/regenerator")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.getDisplayNameFromLocalStorage=t.userShouldUpdateName=void 0;var i=o(n(6)),r={gb:"https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",ie:"https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",global:"https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"};t.userShouldUpdateName=function(e){var t,n,o;return i.default.async((function(r){for(;;)switch(r.prev=r.next){case 0:if(e){r.next=2;break}return r.abrupt("return",!1);case 2:return t=fetch("/api/comments/display-names-pseudonyms?username="+e).then((function(e){return e.json()})).then((function(e){return e})),r.next=6,i.default.awrap(t);case 6:if(n=r.sent,o=n.isPseudonym){r.next=10;break}return r.abrupt("return",!1);case 10:return r.abrupt("return",o);case 11:case"end":return r.stop()}}),null,null,null,Promise)};t.getDisplayNameFromLocalStorage=function(){var e=window.localStorage.getItem("SPOTIM_CURRENT_USER");return e&&(e&&JSON.parse(e)).data.displayName||!1};t.default=function(){var e="undefined"!=typeof window&&window.nuk&&window.nuk.region;return r[e]||r.gb}},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(1)),r=(o(n(4)),o(n(10))),a=n(5),m=o(n(11)),c=o(n(21)),u=n(2),s=o(n(25)),l=function(e){var t=e.articleId,n=e.publishedTime,o=e.isEnabled,l=e.isReadOnly,d=e.commentingConfig;return o?i.default.createElement(i.default.Fragment,null,i.default.createElement(r.default,{state:r.default.metered},i.default.createElement(s.default,null)),i.default.createElement(r.default,{state:r.default.subscriber},i.default.createElement(u.CommentContainer,null,i.default.createElement(a.HiddenDiv,{className:"comment-banner"})),i.default.createElement(m.default,{articleId:t,publishedTime:n,isReadOnly:l,commentingConfig:d}))):i.default.createElement(c.default,null)};l.defaultProps={isReadOnly:!1};var d=l;t.default=d},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(6)),r=o(n(12)),a=o(n(13)),m=o(n(14)),c=o(n(15)),u=o(n(16)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=v(t);if(n&&n.has(e))return n.get(e);var o={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var a=i?Object.getOwnPropertyDescriptor(e,r):null;a&&(a.get||a.set)?Object.defineProperty(o,r,a):o[r]=e[r]}o.default=e,n&&n.set(e,o);return o}(n(1)),l=(o(n(4)),n(2)),d=o(n(18)),f=o(n(19)),p=n(7);function v(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(v=function(e){return e?n:t})(e)}function C(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=(0,u.default)(e);if(t){var i=(0,u.default)(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return(0,c.default)(this,n)}}var b=function(e){(0,m.default)(n,e);var t=C(n);function n(){var e;return(0,r.default)(this,n),(e=t.call(this)).container=null,e}return(0,a.default)(n,[{key:"componentDidMount",value:function(){this.initialiseComments()}},{key:"componentWillUnmount",value:function(){this.disposeComments()}},{key:"initialiseComments",value:function(){var e=this.props,t=e.articleId,n=e.isReadOnly,o=e.publishedTime,r=e.commentingConfig,a=e.onCommentStart,m=e.onCommentPost,c=e.onCommentNotification,u=e.onCommentFilterNewest,s=e.onCommentFilterMostRecommended,l=e.onCommentFilterOldest,f=e.onCommentReplyClick,v=e.onCommentShareLink,C=e.onCommentShareTwitter,b=e.onCommentShareEmail,g=e.onCommentShareFacebook,y=e.onCommentRecommend,h=e.onCommentNotificationClicked,k=e.onCommentUsernameClicked,w=e.onCommentSettingsClicked;if(this.container&&t&&r){var O=r.account.readOnly;if(r&&r.switchOver)o>r.switchOver&&(O=r.account.current);var N=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",(function(e){var t;return i.default.async((function(n){for(;;)switch(n.prev=n.next){case 0:if(a(e),!N){n.next=9;break}if(t=(0,p.getDisplayNameFromLocalStorage)()){n.next=5;break}return n.abrupt("return");case 5:return n.next=7,i.default.awrap((0,p.userShouldUpdateName)(t));case 7:n.sent&&window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}));case 9:case"end":return n.stop()}}),null,null,null,Promise)}),{once:!0}),document.addEventListener("spot-im-current-user-sent-message",m),document.addEventListener("spot-im-notification-drop-down-link",c),document.addEventListener("spot-im-user-up-vote-click",y),document.addEventListener("spot-im-sort-by-select",(function(e){return function(e){switch(e.detail.sortedBy){case"best":return s(e);case"oldest":return l(e);case"newest":return u(e);default:return null}}(e)})),document.addEventListener("spot-im-user-clicked-reply",f),document.addEventListener("spot-im-clicked-settings",w),document.addEventListener("spot-im-user-notifications-click",h),document.addEventListener("spot-im-open-user-profile",k),document.addEventListener("spot-im-share-type",(function(e){return function(e){switch(e.detail.type){case"link":return v(e);case"email":return b(e);case"twitter":return C(e);case"facebook":return g(e);default:return null}}(e)})),n||(window.SPOTIM&&window.SPOTIM.startSSO?(0,d.default)((function(){})):document.addEventListener("spot-im-api-ready",(function(){(0,d.default)((function(){}))})));var S=document.createElement("script");S.setAttribute("async","async"),S.setAttribute("src","https://launcher.spot.im/spot/"+O),S.setAttribute("data-spotim-module","spotim-launcher"),S.setAttribute("data-post-id",t),S.setAttribute("data-post-url","https://www.thetimes.co.uk/article/"+t),S.setAttribute("data-seo-enabled",!0),S.setAttribute("data-livefyre-url",t),this.container.appendChild(S)}}},{key:"disposeComments",value:function(){this.container&&(this.container.innerHTML="")}},{key:"render",value:function(){var e=this,t=this.props,n=t.onCommentStart,o=t.onCommentPost,i=t.onCommentNotification,r=t.onCommentFilterNewest,a=t.onCommentFilterMostRecommended,m=t.onCommentFilterOldest,c=t.onCommentReplyClick,u=t.onCommentShareLink,d=t.onCommentShareTwitter,f=t.onCommentShareEmail,p=t.onCommentShareFacebook,v=t.onCommentRecommend,C=t.onCommentNotificationClicked,b=t.onCommentUsernameClicked,g=t.onCommentSettingsClicked;return s.default.createElement(l.CommentContainer,{id:"comments-container",onCommentStart:n,onCommentPost:o,onCommentNotification:i,onCommentReplyClick:c,onCommentFilterNewest:r,onCommentFilterMostRecommended:a,onCommentFilterOldest:m,onCommentShareLink:u,onCommentShareTwitter:d,onCommentShareEmail:f,onCommentShareFacebook:p,onCommentRecommend:v,onCommentNotificationClicked:C,onCommentUsernameClicked:b,onCommentSettingsClicked:g},s.default.createElement("div",{ref:function(t){e.container=t}}))}}]),n}(s.Component);b.defaultProps={onCommentStart:function(){},onCommentPost:function(){},onCommentNotification:function(){},onCommentReplyClick:function(){},onCommentFilterNewest:function(){},onCommentFilterMostRecommended:function(){},onCommentFilterOldest:function(){},onCommentShareLink:function(){},onCommentShareTwitter:function(){},onCommentShareEmail:function(){},onCommentShareFacebook:function(){},onCommentRecommend:function(){},onCommentNotificationClicked:function(){},onCommentUsernameClicked:function(){},onCommentSettingsClicked:function(){}};var g=(0,f.default)(b);t.default=g},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/helpers/getPrototypeOf")},function(e,t){e.exports=require("styled-components")},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ssoCallback=void 0;var n=function(e,t){return function(e,t){var n=new XMLHttpRequest;n.addEventListener("load",(function(){var e=(200===n.status?JSON.parse(n.response):{}).spotimCodeB;e&&t(e)})),n.open("GET",e),n.send()}("/api/comments/loginv2?codeA="+encodeURIComponent(e),t)};t.ssoCallback=n;var o=function(e){window.SPOTIM&&window.SPOTIM.startSSO&&(window.SPOTIM.startSSO(n),e())};t.default=o},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(20);t.default=function(e){return(0,o.withTrackEvents)(e,{analyticsEvents:[{actionName:"navigation",eventName:"onCommentStart",trackingName:"spot im : comment : start"},{actionName:"navigation",eventName:"onCommentPost",trackingName:"spot im : comment : complete"},{actionName:"navigation",eventName:"onCommentNotification",trackingName:"spot im : notification"},{actionName:"navigation",eventName:"onCommentFilterNewest",trackingName:"spot im : sort : newest"},{actionName:"navigation",eventName:"onCommentFilterMostRecommended",trackingName:"spot im : sort : best"},{actionName:"navigation",eventName:"onCommentFilterOldest",trackingName:"spot im : sort : oldest"},{actionName:"navigation",eventName:"onCommentReplyClick",trackingName:"spot im : reply"},{actionName:"navigation",eventName:"onCommentSettingsClicked",trackingName:"spot im : settings button clicked"},{actionName:"navigation",eventName:"onCommentShareLink",trackingName:"spot im : comment : share : copy link"},{actionName:"navigation",eventName:"onCommentShareEmail",trackingName:"spot im : comment : share : email"},{actionName:"navigation",eventName:"onCommentShareTwitter",trackingName:"spot im : comment : share : twitter"},{actionName:"navigation",eventName:"onCommentShareFacebook",trackingName:"spot im : comment : share : facebook"},{actionName:"navigation",eventName:"onCommentRecommend",trackingName:"spot im : vote up"},{actionName:"navigation",eventName:"onCommentUsernameClicked",trackingName:"spot im : username clicked"},{actionName:"navigation",eventName:"onCommentNotificationClicked",trackingName:"spot im : notification clicked"}]})}},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(1)),r=n(22),a=n(2),m=o(n(23)),c=function(){return i.default.createElement(a.CommentContainer,null,i.default.createElement(a.CommentDisabledHeadline,null,"Comments for this article have been turned off"),i.default.createElement(a.CommentDisabledGuidelines,null,"Comments are subject to our community guidelines, which can be viewed"," ",i.default.createElement(r.TextLink,{style:m.default.link,url:"https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"},"here"),"."))};t.default=c},function(e,t){e.exports=require("@times-components/link/rnw")},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(8)),r=n(3),a=o(n(24));function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var u=c(c({},a.default),{},{link:c(c({},a.default.link),{},{fontFamily:r.fonts.supporting,fontSize:r.fontSizes.commentsGuidelines})});t.default=u},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(n(8)),r=n(3);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var c={button:{marginBottom:(0,r.spacing)(0),marginTop:(0,r.spacing)(5),maxWidth:215},container:{alignItems:"center",borderStyle:"solid",borderTopColor:r.colours.functional.keyline,borderTopWidth:1,marginBottom:(0,r.spacing)(10),width:"100%"},headline:m(m({color:r.colours.functional.primary},(0,r.fontFactory)({font:"headline",fontSize:"commentsHeadline"})),{},{maxWidth:315,paddingBottom:(0,r.spacing)(2),paddingTop:(0,r.spacing)(6),textAlign:"center"}),link:{color:r.colours.functional.action},supporting:m(m({},(0,r.fontFactory)({font:"supporting",fontSize:"tertiary"})),{},{color:r.colours.functional.secondary,maxWidth:280,textAlign:"center"})};t.default=c},function(e,t,n){var o=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e,t,n=null==(e=window.nuk)||null==(t=e.user)?void 0:t.isLightPackUser,o=n?null:(0,a.default)(),m=n?function(){return document&&document.dispatchEvent(new Event("show::upgrade::modal"))}:null;return i.default.createElement(r.InlineDialog,{title:"Join the conversation",buttonText:"View offers",href:o,onClick:m},"Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.")};var i=o(n(1)),r=n(5),a=o(n(7))}]);
|
|
1
|
+
module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=8)}([function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@times-components/user-state/rnw")},function(e,t){e.exports=require("styled-components")},function(e,t){e.exports=require("@times-components/ts-components/rnw")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@times-components/tracking/rnw")},function(e,t){e.exports=require("@times-components/link/rnw")},function(e,t,n){"use strict";n.r(t);var o=n(1),i=n.n(o),r=(n(5),n(2)),a=n.n(r),m=n(4),c=n(3),s=n.n(c),l=n(0);const d=s.a.div.withConfig({displayName:"responsive__CommentContainer",componentId:"sc-2j1dkf-0"})(["margin-left:auto;margin-right:auto;@media (min-width:","px){width:80.8%;}@media (min-width:","px){width:56.2%;}"],l.breakpoints.medium,l.breakpoints.wide),u=(s.a.p.withConfig({displayName:"responsive__CommentEnabledGuidelines",componentId:"sc-2j1dkf-1"})(["color:",';font-family:"','";font-size:',"px;margin:0 0 "," 0;padding-left:7px;padding-top:",";"],l.colours.functional.secondary,l.fonts.supporting,l.fontSizes.commentsGuidelines,Object(l.spacing)(-2),Object(l.spacing)(6)),s.a.p.withConfig({displayName:"responsive__CommentDisabledGuidelines",componentId:"sc-2j1dkf-2"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],l.colours.functional.secondary,l.fonts.supporting,l.fontSizes.commentsGuidelines,Object(l.spacing)(6),Object(l.spacing)(1))),p=s.a.p.withConfig({displayName:"responsive__CommentDisabledHeadline",componentId:"sc-2j1dkf-3"})(["color:",';font-family:"','";font-size:',"px;margin:0;padding-bottom:",";padding-top:",";text-align:center;"],l.colours.functional.primary,l.fonts.headline,l.fontSizes.commentsHeadline,Object(l.spacing)(1),Object(l.spacing)(6)),f=(e,t)=>((e,t)=>{const n=new XMLHttpRequest;n.addEventListener("load",()=>{const e=(200===n.status?JSON.parse(n.response):{}).spotimCodeB;e&&t(e)}),n.open("GET",e),n.send()})("/api/comments/loginv2?codeA=".concat(encodeURIComponent(e)),t);var g=e=>{if(window.SPOTIM&&window.SPOTIM.startSSO){window.SPOTIM.startSSO(f),e();window.location.search.includes("enableRealNameCommenting")&&window.localStorage.setItem("isUsingRealNameCommenting",!0)}},C=n(6);function b(e,t,n,o,i,r,a){try{var m=e[r](a),c=m.value}catch(e){return void n(e)}m.done?t(c):Promise.resolve(c).then(o,i)}const v={gb:"https://thetimes.co.uk/subscribe/digital?ILC=GB-TNL_The_Times-Conversion_Page-Homepage-2020",ie:"https://store.thetimes.ie/?ILC=IE-TNL_The_Times-Conversion_Page-Homepage-2020",global:"https://globalstore.thetimes.co.uk/?ILC=INTL-TNL_The_Times-Conversion_Page-Homepage-2020"},h=function(){var e,t=(e=function*(e){if(!e)return!1;const t="/api/comments/display-names-pseudonyms?username=".concat(e),n=fetch(t).then(e=>e.json()).then(e=>e),o=(yield n).isPseudonym;return o||!1},function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){b(r,o,i,a,m,"next",e)}function m(e){b(r,o,i,a,m,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function w(e,t,n,o,i,r,a){try{var m=e[r](a),c=m.value}catch(e){return void n(e)}m.done?t(c):Promise.resolve(c).then(o,i)}class y extends o.Component{constructor(){super(),this.container=null}componentDidMount(){this.initialiseComments()}componentWillUnmount(){this.disposeComments()}initialiseComments(){const e=this.props,t=e.articleId,n=e.isReadOnly,o=e.publishedTime,i=e.commentingConfig,r=e.onCommentStart,a=e.onCommentPost,m=e.onCommentNotification,c=e.onCommentFilterNewest,s=e.onCommentFilterMostRecommended,l=e.onCommentFilterOldest,d=e.onCommentReplyClick,u=e.onCommentShareLink,p=e.onCommentShareTwitter,f=e.onCommentShareEmail,C=e.onCommentShareFacebook,b=e.onCommentRecommend,v=e.onCommentNotificationClicked,y=e.onCommentUsernameClicked,O=e.onCommentSettingsClicked;if(!this.container||!t||!i)return;let k=i.account.readOnly;if(i&&i.switchOver){o>i.switchOver&&(k=i.account.current)}const N=window.location.search.includes("enableRealNameCommenting");document.addEventListener("spot-im-current-user-typing-start",function(){var e,t=(e=function*(e){if(r(e),N){const e=(()=>{const e=window.localStorage.getItem("SPOTIM_CURRENT_USER");return e&&(e&&JSON.parse(e)).data.displayName||!1})();if(!e)return;(yield h(e))&&window.dispatchEvent(new CustomEvent("SHOW_REAL_NAME_COMMENTING_BANNER",{}))}},function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){w(r,o,i,a,m,"next",e)}function m(e){w(r,o,i,a,m,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),{once:!0}),document.addEventListener("spot-im-current-user-sent-message",a),document.addEventListener("spot-im-notification-drop-down-link",m),document.addEventListener("spot-im-user-up-vote-click",b),document.addEventListener("spot-im-sort-by-select",e=>(e=>{switch(e.detail.sortedBy){case"best":return s(e);case"oldest":return l(e);case"newest":return c(e);default:return null}})(e)),document.addEventListener("spot-im-user-clicked-reply",d),document.addEventListener("spot-im-clicked-settings",O),document.addEventListener("spot-im-user-notifications-click",v),document.addEventListener("spot-im-open-user-profile",y),document.addEventListener("spot-im-share-type",e=>(e=>{switch(e.detail.type){case"link":return u(e);case"email":return f(e);case"twitter":return p(e);case"facebook":return C(e);default:return null}})(e)),n||(window.SPOTIM&&window.SPOTIM.startSSO?g(()=>{}):document.addEventListener("spot-im-api-ready",()=>{N&&(window.localStorage.getItem("isUsingRealNameCommenting")||(window.localStorage.removeItem("SPOTIM_DEVICE_V2"),window.localStorage.removeItem("SPOTIM_CURRENT_USER"),window.localStorage.removeItem("SPOTIM_ACCESS_TOKEN"),window.localStorage.removeItem("SPOT_AB"),window.localStorage.removeItem("SPOTIM_DEVICE_UUID_V2"))),g(()=>{})}));const S=document.createElement("script");S.setAttribute("async","async"),S.setAttribute("src","https://launcher.spot.im/spot/".concat(k)),S.setAttribute("data-spotim-module","spotim-launcher"),S.setAttribute("data-post-id",t),S.setAttribute("data-post-url","https://www.thetimes.co.uk/article/".concat(t)),S.setAttribute("data-seo-enabled",!0),S.setAttribute("data-livefyre-url",t),this.container.appendChild(S)}disposeComments(){this.container&&(this.container.innerHTML="")}render(){const e=this.props,t=e.onCommentStart,n=e.onCommentPost,o=e.onCommentNotification,r=e.onCommentFilterNewest,a=e.onCommentFilterMostRecommended,m=e.onCommentFilterOldest,c=e.onCommentReplyClick,s=e.onCommentShareLink,l=e.onCommentShareTwitter,u=e.onCommentShareEmail,p=e.onCommentShareFacebook,f=e.onCommentRecommend,g=e.onCommentNotificationClicked,C=e.onCommentUsernameClicked,b=e.onCommentSettingsClicked;return i.a.createElement(d,{id:"comments-container",onCommentStart:t,onCommentPost:n,onCommentNotification:o,onCommentReplyClick:c,onCommentFilterNewest:r,onCommentFilterMostRecommended:a,onCommentFilterOldest:m,onCommentShareLink:s,onCommentShareTwitter:l,onCommentShareEmail:u,onCommentShareFacebook:p,onCommentRecommend:f,onCommentNotificationClicked:g,onCommentUsernameClicked:C,onCommentSettingsClicked:b},i.a.createElement("div",{ref:e=>{this.container=e}}))}}y.defaultProps={onCommentStart:()=>{},onCommentPost:()=>{},onCommentNotification:()=>{},onCommentReplyClick:()=>{},onCommentFilterNewest:()=>{},onCommentFilterMostRecommended:()=>{},onCommentFilterOldest:()=>{},onCommentShareLink:()=>{},onCommentShareTwitter:()=>{},onCommentShareEmail:()=>{},onCommentShareFacebook:()=>{},onCommentRecommend:()=>{},onCommentNotificationClicked:()=>{},onCommentUsernameClicked:()=>{},onCommentSettingsClicked:()=>{}};var O,k=(O=y,Object(C.withTrackEvents)(O,{analyticsEvents:[{actionName:"navigation",eventName:"onCommentStart",trackingName:"spot im : comment : start"},{actionName:"navigation",eventName:"onCommentPost",trackingName:"spot im : comment : complete"},{actionName:"navigation",eventName:"onCommentNotification",trackingName:"spot im : notification"},{actionName:"navigation",eventName:"onCommentFilterNewest",trackingName:"spot im : sort : newest"},{actionName:"navigation",eventName:"onCommentFilterMostRecommended",trackingName:"spot im : sort : best"},{actionName:"navigation",eventName:"onCommentFilterOldest",trackingName:"spot im : sort : oldest"},{actionName:"navigation",eventName:"onCommentReplyClick",trackingName:"spot im : reply"},{actionName:"navigation",eventName:"onCommentSettingsClicked",trackingName:"spot im : settings button clicked"},{actionName:"navigation",eventName:"onCommentShareLink",trackingName:"spot im : comment : share : copy link"},{actionName:"navigation",eventName:"onCommentShareEmail",trackingName:"spot im : comment : share : email"},{actionName:"navigation",eventName:"onCommentShareTwitter",trackingName:"spot im : comment : share : twitter"},{actionName:"navigation",eventName:"onCommentShareFacebook",trackingName:"spot im : comment : share : facebook"},{actionName:"navigation",eventName:"onCommentRecommend",trackingName:"spot im : vote up"},{actionName:"navigation",eventName:"onCommentUsernameClicked",trackingName:"spot im : username clicked"},{actionName:"navigation",eventName:"onCommentNotificationClicked",trackingName:"spot im : notification clicked"}]})),N=n(7);function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var P={button:{marginBottom:Object(l.spacing)(0),marginTop:Object(l.spacing)(5),maxWidth:215},container:{alignItems:"center",borderStyle:"solid",borderTopColor:l.colours.functional.keyline,borderTopWidth:1,marginBottom:Object(l.spacing)(10),width:"100%"},headline:E(E({color:l.colours.functional.primary},Object(l.fontFactory)({font:"headline",fontSize:"commentsHeadline"})),{},{maxWidth:315,paddingBottom:Object(l.spacing)(2),paddingTop:Object(l.spacing)(6),textAlign:"center"}),link:{color:l.colours.functional.action},supporting:E(E({},Object(l.fontFactory)({font:"supporting",fontSize:"tertiary"})),{},{color:l.colours.functional.secondary,maxWidth:280,textAlign:"center"})};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var R=_(_({},P),{},{link:_(_({},P.link),{},{fontFamily:l.fonts.supporting,fontSize:l.fontSizes.commentsGuidelines})});var x=()=>i.a.createElement(d,null,i.a.createElement(p,null,"Comments for this article have been turned off"),i.a.createElement(u,null,"Comments are subject to our community guidelines, which can be viewed"," ",i.a.createElement(N.TextLink,{style:R.link,url:"https://www.thetimes.co.uk/article/f4024fbe-d989-11e6-9063-500e6740fc32"},"here"),"."));function L(){const e=window.nuk&&window.nuk.user&&window.nuk.user.isLightPackUser,t=e?null:(()=>{const e="undefined"!=typeof window&&window.nuk&&window.nuk.region;return v[e]||v.gb})(),n=e?()=>document&&document.dispatchEvent(new Event("show::upgrade::modal")):null;return i.a.createElement(m.InlineDialog,{title:"Join the conversation",buttonText:"View offers",href:t,onClick:n},"Commenting is only available to unlimited access subscribers. Upgrade your subscription to have your say.")}const M=e=>{let t=e.articleId,n=e.publishedTime,o=e.isEnabled,r=e.isReadOnly,c=e.commentingConfig;return o?i.a.createElement(i.a.Fragment,null,i.a.createElement(a.a,{state:a.a.metered},i.a.createElement(L,null)),i.a.createElement(a.a,{state:a.a.subscriber},i.a.createElement(d,null,i.a.createElement(m.HiddenDiv,{className:"comment-banner"})),i.a.createElement(k,{articleId:t,publishedTime:n,isReadOnly:r,commentingConfig:c}))):i.a.createElement(x,null)};M.defaultProps={isReadOnly:!1};t.default=M}]);
|