diff --git a/app/components/contributor-list/template.hbs b/app/components/contributor-list/template.hbs
index 64f997f..3c5b4fb 100644
--- a/app/components/contributor-list/template.hbs
+++ b/app/components/contributor-list/template.hbs
@@ -2,8 +2,7 @@
{{#each contributors as |contributor|}}
-
- {{contributor.name}}
+ {{user-avatar contributor=contributor}} {{contributor.name}}
|
{{contributor.totalKreditsEarned}}
diff --git a/app/components/user-avatar/component.js b/app/components/user-avatar/component.js
new file mode 100644
index 0000000..19a31d1
--- /dev/null
+++ b/app/components/user-avatar/component.js
@@ -0,0 +1,10 @@
+import Component from '@ember/component';
+import { alias } from '@ember/object/computed';
+
+export default Component.extend({
+ contributor: null,
+ tagName: 'img',
+ classNames: ['avatar'],
+ attributeBindings: ['src'],
+ src: alias('contributor.avatarURL')
+});
diff --git a/app/components/user-avatar/template.hbs b/app/components/user-avatar/template.hbs
new file mode 100644
index 0000000..e69de29
diff --git a/app/styles/app.scss b/app/styles/app.scss
index b3207f8..84ec881 100644
--- a/app/styles/app.scss
+++ b/app/styles/app.scss
@@ -120,3 +120,4 @@ button, input[type=submit] {
@import "components/add-contributor";
@import "components/proposal-list";
@import "components/contribution-list";
+@import "components/user-avatar";
diff --git a/app/styles/components/_contributor-list.scss b/app/styles/components/_contributor-list.scss
index 5478587..1a0dbfa 100644
--- a/app/styles/components/_contributor-list.scss
+++ b/app/styles/components/_contributor-list.scss
@@ -58,12 +58,9 @@ table.contributor-list {
&.person {
text-align: left;
font-size: 1.4rem;
+
img.avatar {
- width: 2rem;
- height: 2rem;
- vertical-align: middle;
margin-right: 0.2rem;
- border-radius: 1rem;
}
}
diff --git a/app/styles/components/_user-avatar.scss b/app/styles/components/_user-avatar.scss
new file mode 100644
index 0000000..3fdddfb
--- /dev/null
+++ b/app/styles/components/_user-avatar.scss
@@ -0,0 +1,7 @@
+img.avatar {
+ width: 2rem;
+ height: 2rem;
+ vertical-align: middle;
+ margin-right: 0.2rem;
+ border-radius: 1rem;
+}
diff --git a/tests/integration/components/user-avatar/component-test.js b/tests/integration/components/user-avatar/component-test.js
new file mode 100644
index 0000000..e96fe17
--- /dev/null
+++ b/tests/integration/components/user-avatar/component-test.js
@@ -0,0 +1,14 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+import { render } from '@ember/test-helpers';
+import hbs from 'htmlbars-inline-precompile';
+
+module('Integration | Component | user-avatar', function(hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function(assert) {
+ await render(hbs`{{user-avatar}}`);
+
+ assert.equal(this.element.textContent.trim(), '');
+ });
+});
|