-
- handlePostLike(event: any) {
- event.preventDefault();
- if (!UserService.Instance.myUserInfo) {
- this.context.router.history.push(`/login`);
- }
-
- const myVote = this.state.my_vote;
- const newVote = myVote == 1 ? 0 : 1;
-
- if (myVote == 1) {
- this.setState({
- score: this.state.score - 1,
- upvotes: this.state.upvotes - 1,
- });
- } else if (myVote == -1) {
- this.setState({
- score: this.state.score + 2,
- upvotes: this.state.upvotes + 1,
- downvotes: this.state.downvotes - 1,
- });
- } else {
- this.setState({
- score: this.state.score + 1,
- upvotes: this.state.upvotes + 1,
- });
- }
-
- this.setState({ my_vote: newVote });
-
- const auth = myAuth();
- if (auth) {
- const form: CreatePostLike = {
- post_id: this.props.post_view.post.id,
- score: newVote,
- auth,
- };
-
- WebSocketService.Instance.send(wsClient.likePost(form));
- this.setState(this.state);
- }
- setupTippy();
- }
-
- handlePostDisLike(event: any) {
- event.preventDefault();
- if (!UserService.Instance.myUserInfo) {
- this.context.router.history.push(`/login`);
- }
-
- const myVote = this.state.my_vote;
- const newVote = myVote == -1 ? 0 : -1;
-
- if (myVote == 1) {
- this.setState({
- score: this.state.score - 2,
- upvotes: this.state.upvotes - 1,
- downvotes: this.state.downvotes + 1,
- });
- } else if (myVote == -1) {
- this.setState({
- score: this.state.score + 1,
- downvotes: this.state.downvotes - 1,
- });
- } else {
- this.setState({
- score: this.state.score - 1,
- downvotes: this.state.downvotes + 1,
- });
- }
-
- this.setState({ my_vote: newVote });
-
- const auth = myAuth();
- if (auth) {
- const form: CreatePostLike = {
- post_id: this.props.post_view.post.id,
- score: newVote,
- auth,
- };
-
- WebSocketService.Instance.send(wsClient.likePost(form));
- this.setState(this.state);
- }
- setupTippy();
- }
-