revert handling scores using store instead of comment state due to UI freezes
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user