diff --git a/client/coral-embed-stream/src/components/Embed.js b/client/coral-embed-stream/src/components/Embed.js index 0d26cf740..331cfd9a1 100644 --- a/client/coral-embed-stream/src/components/Embed.js +++ b/client/coral-embed-stream/src/components/Embed.js @@ -9,7 +9,6 @@ import Stream from '../containers/Stream'; import Count from 'coral-plugin-comment-count/CommentCount'; import UserBox from 'coral-sign-in/components/UserBox'; import ProfileContainer from 'coral-settings/containers/ProfileContainer'; -import RestrictedContent from 'coral-framework/components/RestrictedContent'; import ConfigureStreamContainer from 'coral-configure/containers/ConfigureStreamContainer'; export default class Embed extends React.Component { @@ -68,10 +67,8 @@ export default class Embed extends React.Component { - - { loggedIn ? userBox : null } - - + { loggedIn ? userBox : null } + diff --git a/client/coral-embed-stream/src/components/Stream.js b/client/coral-embed-stream/src/components/Stream.js index 2297a295b..6c84dd1ea 100644 --- a/client/coral-embed-stream/src/components/Stream.js +++ b/client/coral-embed-stream/src/components/Stream.js @@ -9,8 +9,8 @@ import {ModerationLink} from 'coral-plugin-moderation'; import CommentBox from 'coral-plugin-commentbox/CommentBox'; import QuestionBox from 'coral-plugin-questionbox/QuestionBox'; import IgnoredCommentTombstone from './IgnoredCommentTombstone'; -import SuspendedAccount from 'coral-framework/components/SuspendedAccount'; -import RestrictedContent from 'coral-framework/components/RestrictedContent'; +import SuspendedAccount from './SuspendedAccount'; +import RestrictedMessageBox from 'coral-framework/components/RestrictedMessageBox'; import ChangeUsernameContainer from 'coral-sign-in/containers/ChangeUsernameContainer'; @@ -49,6 +49,7 @@ class Stream extends React.Component { : comment; const banned = user && user.status === 'BANNED'; + const temporarilySuspended = user && user.suspension.until && new Date(user.suspension.until) > new Date(); const hasOlderComments = !!(asset && asset.lastComment && @@ -72,32 +73,35 @@ class Stream extends React.Component { content={asset.settings.questionBoxContent} enable={asset.settings.questionBoxEnable} /> - + In accordance with <organization name>'s Community Guidlines, + you have been temporarily suspended. You can rejoin the conversation + with our community in x hours. + + } + {banned && + + } + {loggedIn && !banned && + - } - > - {user - ? - : null} - + } :

{asset.settings.closedMessage}

} {!loggedIn && diff --git a/client/coral-framework/components/RestrictedContent.css b/client/coral-embed-stream/src/components/SuspendAccount.css similarity index 67% rename from client/coral-framework/components/RestrictedContent.css rename to client/coral-embed-stream/src/components/SuspendAccount.css index ca5a6517c..f491ea889 100644 --- a/client/coral-framework/components/RestrictedContent.css +++ b/client/coral-embed-stream/src/components/SuspendAccount.css @@ -1,8 +1,3 @@ -.message { - background: #D8D8D8; - padding: 25px; -} - .editNameInput { margin-top: 10px; margin-bottom: 10px; diff --git a/client/coral-framework/components/SuspendedAccount.js b/client/coral-embed-stream/src/components/SuspendedAccount.js similarity index 88% rename from client/coral-framework/components/SuspendedAccount.js rename to client/coral-embed-stream/src/components/SuspendedAccount.js index 446169b37..bf1de4c36 100644 --- a/client/coral-framework/components/SuspendedAccount.js +++ b/client/coral-embed-stream/src/components/SuspendedAccount.js @@ -2,9 +2,10 @@ import React, {Component, PropTypes} from 'react'; import I18n from 'coral-framework/modules/i18n/i18n'; import translations from 'coral-framework/translations.json'; const lang = new I18n(translations); -import styles from './RestrictedContent.css'; +import styles from './SuspendAccount.css'; import {Button} from 'coral-ui'; -import validate from '../helpers/validate'; +import validate from 'coral-framework/helpers/validate'; +import RestrictedMessageBox from 'coral-framework/components/RestrictedMessageBox'; class SuspendedAccount extends Component { @@ -38,7 +39,7 @@ class SuspendedAccount extends Component { const {canEditName} = this.props; const {username, alert} = this.state; - return
+ return { canEditName ? lang.t('editName.msg') @@ -72,7 +73,7 @@ class SuspendedAccount extends Component {
: null } - ; + ; } } diff --git a/client/coral-framework/components/RestrictedContent.js b/client/coral-framework/components/RestrictedContent.js index 32aaf632d..d3406ca40 100644 --- a/client/coral-framework/components/RestrictedContent.js +++ b/client/coral-framework/components/RestrictedContent.js @@ -1,13 +1,13 @@ import React from 'react'; -import styles from './RestrictedContent.css'; +import RestrictedMessageBox from './RestrictedMessageBox'; import I18n from 'coral-framework/modules/i18n/i18n'; import translations from 'coral-framework/translations.json'; const lang = new I18n(translations); export default ({children, restricted, message = lang.t('contentNotAvailable'), restrictedComp}) => { if (restricted) { - return restrictedComp ? restrictedComp : messageBox(message); + return restrictedComp ? restrictedComp : ; } else { return (
@@ -17,4 +17,3 @@ export default ({children, restricted, message = lang.t('contentNotAvailable'), } }; -const messageBox = (message) =>
{message}
; diff --git a/client/coral-framework/components/RestrictedMessageBox.css b/client/coral-framework/components/RestrictedMessageBox.css new file mode 100644 index 000000000..396decd9c --- /dev/null +++ b/client/coral-framework/components/RestrictedMessageBox.css @@ -0,0 +1,5 @@ +.message { + background: #D8D8D8; + padding: 25px; +} + diff --git a/client/coral-framework/components/RestrictedMessageBox.js b/client/coral-framework/components/RestrictedMessageBox.js new file mode 100644 index 000000000..c579a4731 --- /dev/null +++ b/client/coral-framework/components/RestrictedMessageBox.js @@ -0,0 +1,4 @@ +import React from 'react'; +import styles from './RestrictedMessageBox.css'; + +export default ({children}) =>
{children}
; diff --git a/models/user.js b/models/user.js index 8d6cbdbb9..0a68ae07b 100644 --- a/models/user.js +++ b/models/user.js @@ -221,7 +221,7 @@ UserSchema.method('can', function(...actions) { throw new Error(`invalid actions: ${actions}`); } - if (this.status === 'BANNED') { + if (this.status === 'BANNED' || this.suspension.until && this.suspension.until > new Date()) { return false; }