diff --git a/packages/nova-base-components/lib/common/Vote.jsx b/packages/nova-base-components/lib/common/Vote.jsx index c776fe3d4..9cac0fb51 100644 --- a/packages/nova-base-components/lib/common/Vote.jsx +++ b/packages/nova-base-components/lib/common/Vote.jsx @@ -14,6 +14,10 @@ class Vote extends Component { this.upvote = this.upvote.bind(this); this.startLoading = this.startLoading.bind(this); this.stopLoading = this.stopLoading.bind(this); + + this.hasUpvoted = hasUpvoted; + this.hasDownvoted = hasDownvoted; + this.state = { loading: false } @@ -38,7 +42,7 @@ class Vote extends Component { if(!user){ this.props.flash("Please log in first"); } else { - const voteType = hasUpvoted(user, post) ? "cancelUpvote" : "upvote"; + const voteType = this.hasUpvoted(user, post) ? "cancelUpvote" : "upvote"; this.props.vote({post, voteType, currentUser: this.props.currentUser}).then(result => { this.stopLoading(); }); @@ -47,11 +51,15 @@ class Vote extends Component { render() { + // uncomment for debug: + // console.log('hasUpvoted', hasUpvoted); + // console.log('this.hasUpvoted', this.hasUpvoted); + const post = this.props.post; const user = this.props.currentUser; - const hasUpvoted = hasUpvoted(user, post); - const hasDownvoted = hasDownvoted(user, post); + const hasUpvoted = this.hasUpvoted(user, post); + const hasDownvoted = this.hasDownvoted(user, post); const actionsClass = classNames( "vote", {voted: hasUpvoted || hasDownvoted}, diff --git a/packages/nova-voting/lib/callbacks.js b/packages/nova-voting/lib/callbacks.js index c42335c02..747b02576 100644 --- a/packages/nova-voting/lib/callbacks.js +++ b/packages/nova-voting/lib/callbacks.js @@ -1,4 +1,5 @@ import Telescope from 'meteor/nova:lib'; +import Users from 'meteor/nova:users'; /** * @summary Update an item's (post or comment) score diff --git a/packages/nova-voting/lib/containers/withVote.js b/packages/nova-voting/lib/containers/withVote.js index a3bfc9c8e..7b8ec84bc 100644 --- a/packages/nova-voting/lib/containers/withVote.js +++ b/packages/nova-voting/lib/containers/withVote.js @@ -1,4 +1,5 @@ import Telescope from 'meteor/nova:lib'; +import Posts from 'meteor/nova:posts'; import React, { PropTypes, Component } from 'react'; import { graphql } from 'react-apollo'; import gql from 'graphql-tag'; diff --git a/packages/nova-voting/lib/graphql.js b/packages/nova-voting/lib/graphql.js index 8ef13d1ba..0ed616e30 100644 --- a/packages/nova-voting/lib/graphql.js +++ b/packages/nova-voting/lib/graphql.js @@ -1,4 +1,5 @@ import Telescope from 'meteor/nova:lib'; +import Posts from 'meteor/nova:posts'; /** * @summary Vote schema