From d4d282e9194ee94e235dbddb59b99ed997c835c3 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 4 Nov 2014 13:26:33 -0500 Subject: [PATCH] UX: Let's try a fade in when the user card is shown --- .../discourse/controllers/user-card.js.es6 | 5 +- .../discourse/templates/user-card.hbs | 96 +++++++++---------- .../discourse/views/user-card.js.es6 | 15 ++- 3 files changed, 61 insertions(+), 55 deletions(-) diff --git a/app/assets/javascripts/discourse/controllers/user-card.js.es6 b/app/assets/javascripts/discourse/controllers/user-card.js.es6 index a2058d935..70678bdb5 100644 --- a/app/assets/javascripts/discourse/controllers/user-card.js.es6 +++ b/app/assets/javascripts/discourse/controllers/user-card.js.es6 @@ -48,7 +48,7 @@ export default ObjectController.extend({ this.set('avatar', null); } - this.setProperties({visible: true, username: username}); + this.set('username', username); // If we click the avatar again, close it. if (username === currentUsername && wasVisible) { @@ -67,8 +67,7 @@ export default ObjectController.extend({ var self = this; self.set('user', null); Discourse.User.findByUsername(username).then(function (user) { - self.set('user', user); - self.set('avatar', user); + self.setProperties({ user: user, avatar: user, visible: true}); }); }, diff --git a/app/assets/javascripts/discourse/templates/user-card.hbs b/app/assets/javascripts/discourse/templates/user-card.hbs index 078e61f03..b5105ba2d 100644 --- a/app/assets/javascripts/discourse/templates/user-card.hbs +++ b/app/assets/javascripts/discourse/templates/user-card.hbs @@ -1,6 +1,4 @@
- -{{#if username}} {{#link-to 'user' user}}{{bound-avatar avatar "huge"}}{{/link-to}}
@@ -23,60 +21,56 @@
- {{#if user}} - - - {{#if isSuspended}} -
- {{fa-icon "ban"}} - {{i18n user.suspended_notice date="user.suspendedTillDate"}}
- {{i18n user.suspended_reason}} {{user.suspend_reason}} -
- {{else}} - {{#if user.bio_cooked}}
{{text-overflow class="overflow" text=user.bio_cooked}}
{{/if}} + + + {{#if isSuspended}} +
+ {{fa-icon "ban"}} + {{i18n user.suspended_notice date="user.suspendedTillDate"}}
+ {{i18n user.suspended_reason}} {{user.suspend_reason}} +
+ {{else}} + {{#if user.bio_cooked}}
{{text-overflow class="overflow" text=user.bio_cooked}}
{{/if}} + {{/if}} + + {{#if user.card_badge}} + {{#link-to 'badges.show' user.card_badge class="card-badge" title=user.card_badge.name}} + {{icon-or-image user.card_badge.image title=user.card_badge.name}} + {{/link-to}} + {{/if}} + + + + {{#if showBadges}} +
+ {{#each user.featured_user_badges}} + {{user-badge badge=badge}} + {{/each}} + {{#if showMoreBadges}} + {{#link-to 'user.badges' user class="btn more-user-badges"}} + {{i18n badges.more_badges count=moreBadgesCount}} + {{/link-to}} {{/if}}
- - {{#if showBadges}} -
- {{#each user.featured_user_badges}} - {{user-badge badge=badge}} - {{/each}} - {{#if showMoreBadges}} - {{#link-to 'user.badges' user class="btn more-user-badges"}} - {{i18n badges.more_badges count=moreBadgesCount}} - {{/link-to}} - {{/if}} -
- {{/if}} {{/if}} -{{/if}} -
diff --git a/app/assets/javascripts/discourse/views/user-card.js.es6 b/app/assets/javascripts/discourse/views/user-card.js.es6 index a9e05e585..a5aff4c8e 100644 --- a/app/assets/javascripts/discourse/views/user-card.js.es6 +++ b/app/assets/javascripts/discourse/views/user-card.js.es6 @@ -6,9 +6,22 @@ var clickOutsideEventName = "mousedown.outside-user-card", export default Discourse.View.extend(CleansUp, { elementId: 'user-card', - classNameBindings: ['controller.visible::hidden', 'controller.showBadges'], + classNameBindings: ['controller.showBadges'], allowBackgrounds: Discourse.computed.setting('allow_profile_backgrounds'), + _visibleChanged: function() { + var vis = this.get('controller.visible'), + $this = this.$(); + + if (!$this) { return; } + + if (vis) { + this.$().fadeIn('fast'); + } else { + this.$().fadeOut('fast'); + } + }.observes('controller.visible'), + addBackground: function() { var url = this.get('controller.user.card_background'); if (!this.get('allowBackgrounds')) { return; }