From d7a22620df52c1c328cbbe6b69f2d6ddf1a26430 Mon Sep 17 00:00:00 2001 From: igoradamenko Date: Sat, 26 May 2018 17:04:36 +0300 Subject: [PATCH] revert handling scores using store instead of comment state due to UI freezes --- web/app/components/comment/comment.jsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/web/app/components/comment/comment.jsx b/web/app/components/comment/comment.jsx index dd8081f1..7dbc1d39 100644 --- a/web/app/components/comment/comment.jsx +++ b/web/app/components/comment/comment.jsx @@ -46,6 +46,7 @@ export default class Comment extends Component { const { data, data: { user: { block, id: commentUserId }, pin }, mods: { guest } = {} } = props; const votes = data && data.votes || []; + const score = data && data.score || 0; if (this.editTimerInterval) { clearInterval(this.editTimerInterval); @@ -55,6 +56,7 @@ export default class Comment extends Component { if (guest) { this.setState({ guest, + score, deleted: data ? data.delete : false, }); } else { @@ -62,6 +64,7 @@ export default class Comment extends Component { this.setState({ guest, + score, pinned: !!pin, deleted: data ? data.delete : false, userBlocked: !!block, @@ -185,8 +188,8 @@ export default class Comment extends Component { } increaseScore() { - const { scoreIncreased, scoreDecreased } = this.state; - const { id, score } = this.props.data; + const { score, scoreIncreased, scoreDecreased } = this.state; + const { id } = this.props.data; if (scoreIncreased) return; @@ -195,6 +198,7 @@ export default class Comment extends Component { this.setState({ scoreIncreased: !scoreDecreased, scoreDecreased: false, + score: newScore, }); store.replaceComment(Object.assign({}, this.props.data, { score: newScore })); @@ -203,8 +207,8 @@ export default class Comment extends Component { } decreaseScore() { - const { scoreIncreased, scoreDecreased } = this.state; - const { id, score } = this.props.data; + const { score, scoreIncreased, scoreDecreased } = this.state; + const { id } = this.props.data; if (scoreDecreased) return; @@ -213,6 +217,7 @@ export default class Comment extends Component { this.setState({ scoreDecreased: !scoreIncreased, scoreIncreased: false, + score: newScore, }); store.replaceComment(Object.assign({}, this.props.data, { score: newScore })); @@ -254,8 +259,8 @@ export default class Comment extends Component { } } - render(props, { guest, isUserIdVisible, userBlocked, pinned, scoreIncreased, scoreDecreased, deleted, isReplying, isEditing, editTimeLeft }) { - const { data, data: { score }, mods = {} } = props; + render(props, { guest, isUserIdVisible, userBlocked, pinned, score, scoreIncreased, scoreDecreased, deleted, isReplying, isEditing, editTimeLeft }) { + const { data, mods = {} } = props; const isAdmin = !guest && store.get('user').admin; const isGuest = guest || !Object.keys(store.get('user')).length; const isCurrentUser = (data.user && data.user.id) === (store.get('user') && store.get('user').id);