diff --git a/client/coral-admin/src/components/ModerationList.css b/client/coral-admin/src/components/ModerationList.css index 7036998d1..fc2ba9931 100644 --- a/client/coral-admin/src/components/ModerationList.css +++ b/client/coral-admin/src/components/ModerationList.css @@ -186,4 +186,5 @@ .actionButton { transform: scale(.8); margin: 0; + width: 140px; } diff --git a/client/coral-admin/src/containers/Dashboard/Dashboard.js b/client/coral-admin/src/containers/Dashboard/Dashboard.js index f1259f796..602a48d7f 100644 --- a/client/coral-admin/src/containers/Dashboard/Dashboard.js +++ b/client/coral-admin/src/containers/Dashboard/Dashboard.js @@ -4,7 +4,6 @@ import {compose} from 'react-apollo'; import {connect} from 'react-redux'; import {getMetrics} from 'coral-admin/src/graphql/queries'; import FlagWidget from './FlagWidget'; -import LikeWidget from './LikeWidget'; import ActivityWidget from './ActivityWidget'; import {showBanUserDialog, hideBanUserDialog} from 'coral-admin/src/actions/moderation'; import I18n from 'coral-framework/modules/i18n/i18n'; @@ -16,9 +15,22 @@ const refreshIntervalSeconds = 60 * 5; class Dashboard extends React.Component { - state = { - noteHidden: false, - secondsUntilRefresh: refreshIntervalSeconds + constructor (props) { + super(props); + + try { + if (window.localStorage.getItem('coral:dashboardNote') === null) { + window.localStorage.setItem('coral:dashboardNote', 'show'); + } + } catch (e) { + + // above will fail in Private Mode in some browsers. + } + + this.state = { + secondsUntilRefresh: refreshIntervalSeconds, + dashboardNote: window.localStorage.getItem('coral:dashboardNote') || 'show' + }; } componentWillMount () { @@ -32,6 +44,16 @@ class Dashboard extends React.Component { }, 1000); } + dismissNote = () => { + try { + window.localStorage.setItem('coral:dashboardNote', 'hide'); + } catch (e) { + + // when setItem fails in Safari Private mode + this.setState({dashboardNote: 'hide'}); + } + } + formatTime = () => { const minutes = Math.floor(this.state.secondsUntilRefresh / 60); let seconds = (this.state.secondsUntilRefresh % 60).toString(); @@ -48,20 +70,21 @@ class Dashboard extends React.Component { return ; } - const {data: {assetsByLike, assetsByFlag, assetsByActivity}} = this.props; + const {data: {assetsByActivity, assetsByFlag}} = this.props; + const hideReloadNote = window.localStorage.getItem('coral:dashboardNote') === 'hide' || + this.state.dashboardNote === 'hide'; // for Safari Incognito return (

this.setState({noteHidden: true})}> + onClick={this.dismissNote}> × {lang.t('dashboard.next-update', this.formatTime())} {lang.t('dashboard.auto-update')}

-
diff --git a/client/coral-embed-stream/src/Comment.js b/client/coral-embed-stream/src/Comment.js index 0a3cdb78b..20060f474 100644 --- a/client/coral-embed-stream/src/Comment.js +++ b/client/coral-embed-stream/src/Comment.js @@ -157,31 +157,31 @@ class Comment extends React.Component {
- - - - - setActiveReplyBox(comment.id)} - parentCommentId={parentId || comment.id} - currentUserId={currentUser && currentUser.id} - banned={false} /> - - - - - - -
+ + + + + setActiveReplyBox(comment.id)} + parentCommentId={parentId || comment.id} + currentUserId={currentUser && currentUser.id} + banned={false} /> + + + + + + +
diff --git a/client/coral-framework/translations.json b/client/coral-framework/translations.json index d115aedca..d95f5c9ec 100644 --- a/client/coral-framework/translations.json +++ b/client/coral-framework/translations.json @@ -5,9 +5,9 @@ "successNameUpdate": "Your username has been updated", "contentNotAvailable": "This content is not available", "loadMore": "View more", - "bannedAccountMsg": "Your account is currently suspended. This means that you cannot Like, Flag, or write comments. Please contact moderator@fakeurl.com for more information", + "bannedAccountMsg": "Your account is currently suspended. This means that you cannot Like, Report, or write comments. Please contact us if you have any questions.", "editName": { - "msg": "Your account is currently suspended because your username has been deemed inappropriate. To restore your account, please enter a new username. You may contact moderator@fakeurl.com for more information.", + "msg": "Your account is currently suspended because your username has been deemed inappropriate. To restore your account, please enter a new username. Please contact us if you have any questions.", "label": "New Username", "button": "Submit", "error": "Usernames can contain letters, numbers and _ only" @@ -41,7 +41,7 @@ "successUpdateSettings": "La configuración de este articulo fue actualizada", "successBioUpdate": "Tu bio fue actualizada", "contentNotAvailable": "El contenido no se encuentra disponible", - "bannedAccountMsg": "Tu cuenta se encuentra suspendida. Esto significa que no puedes dar Like, Marcar o escribir commentarios. Por favor, contacta moderator@fakeurl for more information", + "bannedAccountMsg": "Tu cuenta se encuentra suspendida. Esto significa que no puedes dar Like, Marcar o escribir commentarios.", "editNameMsg": "", "loadMore": "Ver más", "newCount": "Ver {0} {1} más", diff --git a/client/coral-plugin-flags/translations.json b/client/coral-plugin-flags/translations.json index caac6cbf1..255e13f3c 100644 --- a/client/coral-plugin-flags/translations.json +++ b/client/coral-plugin-flags/translations.json @@ -7,8 +7,8 @@ "step-1-header": "Report an issue", "step-2-header": "Help us understand", "step-3-header": "Thank you for your input", - "flag-username": "Flag username", - "flag-comment": "Flag comment", + "flag-username": "Report username", + "flag-comment": "Report comment", "continue": "Continue", "done": "Done", "no-agree-comment": "I don't agree with this comment", @@ -20,8 +20,8 @@ "no-like-bio": "I don't like this bio", "marketing": "This looks like an ad/marketing", "user-impersonating": "This user is impersonating", - "thank-you": "We value your safety and feedback. A moderator will review your flag.", - "flag-reason": "Reason for flag (Optional)", + "thank-you": "We value your safety and feedback. A moderator will review your report.", + "flag-reason": "Reason for reporting (Optional)", "other": "Other" }, "es": {