From b9c09dc37f16de9941aa6b876a2b8547c6482601 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Thu, 26 Feb 2015 12:47:50 +1030 Subject: [PATCH] Render deleted users better --- .../app/components/discussion/post-header/user.js | 2 +- framework/core/ember/app/helpers/user-avatar.js | 2 +- framework/core/ember/app/helpers/user-name.js | 12 ++++++++++++ .../core/ember/app/styles/flarum/components.less | 1 + .../index/discussion-info/terminal-post.hbs | 8 ++++---- 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 framework/core/ember/app/helpers/user-name.js diff --git a/framework/core/ember/app/components/discussion/post-header/user.js b/framework/core/ember/app/components/discussion/post-header/user.js index 627fc0435..aa09a96eb 100644 --- a/framework/core/ember/app/components/discussion/post-header/user.js +++ b/framework/core/ember/app/components/discussion/post-header/user.js @@ -8,5 +8,5 @@ var precompileTemplate = Ember.Handlebars.compile; export default Ember.Component.extend({ tagName: 'h3', classNames: ['post-user'], - layout: precompileTemplate('{{#link-to "user" post.user}}{{user-avatar post.user}} {{post.user.username}}{{/link-to}}') + layout: precompileTemplate('{{#if post.user}}{{#link-to "user" post.user}}{{user-avatar post.user}} {{user-name post.user}}{{/link-to}}{{else}}{{user-avatar post.user}} {{user-name post.user}}{{/if}}') }); diff --git a/framework/core/ember/app/helpers/user-avatar.js b/framework/core/ember/app/helpers/user-avatar.js index a989675b4..eb5ca54fb 100644 --- a/framework/core/ember/app/helpers/user-avatar.js +++ b/framework/core/ember/app/helpers/user-avatar.js @@ -1,7 +1,7 @@ import Ember from 'ember'; export default Ember.Handlebars.makeBoundHelper(function(user, options) { - var attributes = 'class="avatar '+options.hash.class+'"'; + var attributes = 'class="avatar '+(options.hash.class || '')+'"'; var content = ''; if (user) { diff --git a/framework/core/ember/app/helpers/user-name.js b/framework/core/ember/app/helpers/user-name.js new file mode 100644 index 000000000..7f426749e --- /dev/null +++ b/framework/core/ember/app/helpers/user-name.js @@ -0,0 +1,12 @@ +import Ember from 'ember'; + +export default Ember.Handlebars.makeBoundHelper(function(user, options) { + var username; + if (user) { + username = user.get('username'); + } + username = username || '[deleted]'; + + return new Ember.Handlebars.SafeString(''+Ember.Handlebars.Utils.escapeExpression(username)+''); +}); + diff --git a/framework/core/ember/app/styles/flarum/components.less b/framework/core/ember/app/styles/flarum/components.less index 74d69b6f0..117641e86 100644 --- a/framework/core/ember/app/styles/flarum/components.less +++ b/framework/core/ember/app/styles/flarum/components.less @@ -234,6 +234,7 @@ font-weight: 300; text-align: center; vertical-align: top; + background-color: @fl-body-control-bg; .avatar-size(48px); & img { diff --git a/framework/core/ember/app/templates/components/index/discussion-info/terminal-post.hbs b/framework/core/ember/app/templates/components/index/discussion-info/terminal-post.hbs index ddb7cedf3..3145a0f3e 100644 --- a/framework/core/ember/app/templates/components/index/discussion-info/terminal-post.hbs +++ b/framework/core/ember/app/templates/components/index/discussion-info/terminal-post.hbs @@ -1,7 +1,7 @@ {{#if displayLastPost}} - {{discussion.lastUser.username}} replied - {{human-time discussion.lastTime}} + {{user-name discussion.lastUser}} replied + {{human-time discussion.lastTime}} {{else}} - {{discussion.startUser.username}} started - {{human-time discussion.startTime}} + {{user-name discussion.startUser}} started + {{human-time discussion.startTime}} {{/if}}