diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb index 41440bd27..7f5aaae32 100644 --- a/app/presenters/post_presenter.rb +++ b/app/presenters/post_presenter.rb @@ -22,7 +22,8 @@ class PostPresenter :previous_post => self.previous_post_path, :likes => self.likes, :reshares => self.reshares, - :comments => self.comments + :comments => self.comments, + :participations => self.participations }), :templateName => template_name } @@ -40,6 +41,11 @@ class PostPresenter as_api(post.reshares) end + def participations + as_api(post.participations) + end + + def user_like return unless user_signed_in? if like = post.likes.where(:author_id => person.id).first diff --git a/public/javascripts/app/models/post.js b/public/javascripts/app/models/post.js index d2dd9b6a6..43252fc0c 100644 --- a/public/javascripts/app/models/post.js +++ b/public/javascripts/app/models/post.js @@ -41,7 +41,7 @@ app.models.Post = Backbone.Model.extend({ var self = this; this.participations.create({}, {success : function(resp){ self.set(resp.attributes.post) - self.trigger('feedback', self) + self.trigger('interacted', self) }}); }, @@ -52,7 +52,7 @@ app.models.Post = Backbone.Model.extend({ participationModel.destroy({success : function(model, resp){ self.set(resp.post); - self.trigger('feedback', this) + self.trigger('interacted', this) }}); }, @@ -69,7 +69,7 @@ app.models.Post = Backbone.Model.extend({ var self = this; this.likes.create({}, {success : function(resp){ self.set(resp.get("post")) - self.trigger('feedback', self) + self.trigger('interacted', self) }}); }, @@ -80,7 +80,7 @@ app.models.Post = Backbone.Model.extend({ likeModel.destroy({success : function(model, resp) { self.set(resp.post); - self.trigger('feedback', this) + self.trigger('interacted', this) }}); } }); diff --git a/public/javascripts/app/pages/post-viewer.js b/public/javascripts/app/pages/post-viewer.js index 61cd0a0bc..74f3733c4 100644 --- a/public/javascripts/app/pages/post-viewer.js +++ b/public/javascripts/app/pages/post-viewer.js @@ -5,7 +5,7 @@ app.pages.PostViewer = app.views.Base.extend({ subviews : { "#post-content" : "postView", "#post-nav" : "navView", - "#post-feedback" : "feedbackView", + "#post-feedback" : "interactionsView", "#header-container" : "authorView" }, @@ -22,9 +22,8 @@ app.pages.PostViewer = app.views.Base.extend({ return new app.views.PostViewerNav({ model : this.model }) }, - feedbackView : function() { - if(!window.app.user()) { return null } - return new app.views.PostViewerFeedback({ model : this.model }) + interactionsView : function() { + return new app.views.PostViewerInteractions({ model : this.model }) }, authorView : function() { diff --git a/public/javascripts/app/templates/post-viewer.handlebars b/public/javascripts/app/templates/post-viewer.handlebars index 3c690065f..f2ace3ec2 100644 --- a/public/javascripts/app/templates/post-viewer.handlebars +++ b/public/javascripts/app/templates/post-viewer.handlebars @@ -10,33 +10,86 @@ -
+
+
-