From: Jay Sitter Date: Sun, 2 Jul 2023 19:07:24 +0000 (-0400) Subject: fix: Fix vote buttons not showing spinners while registering vote #1761 X-Git-Url: http://these/git/README.zh.hans.md?a=commitdiff_plain;h=65fcaafab7b5082fa894be2a1e7b5bc9506fee6c;p=lemmy-ui.git fix: Fix vote buttons not showing spinners while registering vote #1761 --- diff --git a/src/shared/components/common/vote-buttons.tsx b/src/shared/components/common/vote-buttons.tsx index 69df94b..2595bb6 100644 --- a/src/shared/components/common/vote-buttons.tsx +++ b/src/shared/components/common/vote-buttons.tsx @@ -64,8 +64,6 @@ const handleUpvote = (i: VoteButtons) => { auth: myAuthRequired(), }); } - - i.setState({ upvoteLoading: false }); }; const handleDownvote = (i: VoteButtons) => { @@ -86,7 +84,6 @@ const handleDownvote = (i: VoteButtons) => { auth: myAuthRequired(), }); } - i.setState({ downvoteLoading: false }); }; export class VoteButtonsCompact extends Component< @@ -102,6 +99,15 @@ export class VoteButtonsCompact extends Component< super(props, context); } + componentWillReceiveProps(nextProps: VoteButtonsProps) { + if (this.props !== nextProps) { + this.setState({ + upvoteLoading: false, + downvoteLoading: false, + }); + } + } + render() { return ( <> @@ -172,6 +178,15 @@ export class VoteButtons extends Component { super(props, context); } + componentWillReceiveProps(nextProps: VoteButtonsProps) { + if (this.props !== nextProps) { + this.setState({ + upvoteLoading: false, + downvoteLoading: false, + }); + } + } + render() { return (