From 9891e5af18708a24a9a0c99ec79368cd31cd7c8e Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Thu, 12 Mar 2015 10:39:40 +1030 Subject: [PATCH] Fix user dropdown links --- .../components/application/user-dropdown.js | 20 ++++++++++++++++--- ember/app/views/application.js | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ember/app/components/application/user-dropdown.js b/ember/app/components/application/user-dropdown.js index de5086a5c..e69ff41aa 100644 --- a/ember/app/components/application/user-dropdown.js +++ b/ember/app/components/application/user-dropdown.js @@ -2,6 +2,9 @@ import Ember from 'ember'; import HasItemLists from 'flarum/mixins/has-item-lists'; import DropdownButton from 'flarum/components/ui/dropdown-button'; +import NavItem from 'flarum/components/ui/nav-item'; + +var precompileTemplate = Ember.Handlebars.compile; export default DropdownButton.extend(HasItemLists, { layoutName: 'components/application/user-dropdown', @@ -13,11 +16,22 @@ export default DropdownButton.extend(HasItemLists, { populateItems: function(items) { var self = this; - this.addActionItem(items, 'profile', 'Profile', 'user'); - this.addActionItem(items, 'settings', 'Settings', 'cog'); + + items.pushObjectWithTag(Ember.Component.extend({ + tagName: 'li', + layout: precompileTemplate('{{#link-to "user" user}}{{fa-icon "user"}} Profile{{/link-to}}'), + user: this.get('parentController.session.user') + })); + + items.pushObjectWithTag(Ember.Component.extend({ + tagName: 'li', + layout: precompileTemplate('{{#link-to "settings"}}{{fa-icon "cog"}} Settings{{/link-to}}') + })); + this.addSeparatorItem(items); + this.addActionItem(items, 'logout', 'Log Out', 'sign-out', null, function() { - self.get('logout')(); + self.get('parentController').send('invalidateSession'); }); } }) diff --git a/ember/app/views/application.js b/ember/app/views/application.js index b000560cf..7a07bd80c 100644 --- a/ember/app/views/application.js +++ b/ember/app/views/application.js @@ -90,7 +90,7 @@ export default Ember.View.extend(HasItemLists, { if (this.get('controller.session.isAuthenticated')) { items.pushObjectWithTag(UserDropdown.extend({ user: this.get('controller.session.user'), - logout: function() { controller.send('invalidateSession'); } + parentController: controller }), 'user'); } else { this.addActionItem(items, 'signup', 'Sign Up').reopen({className: 'btn btn-link'});