UNPKG

ember-initials

Version:

Simple Initials Avatars for Ember applications

31 lines (22 loc) 781 B
import ImageAvatarComponent from '../image'; import { tracked } from '@glimmer/tracking'; import { reads } from '@ember/object/computed'; import md5 from 'blueimp-md5'; class GravatarAvatarComponent extends ImageAvatarComponent { @tracked email = ''; @reads('config.gravatar.defaultImageUrl') defaultImage; @tracked _image; get image() { return this._image || this.generateGravatarUrl(); } set image(value) { return this._image = value; } generateGravatarUrl() { const hash = md5(this.email); const { size } = this; const url = this.defaultImage ? `&default=${new URL(this.defaultImage, window.location.origin).href}` : ''; return `//www.gravatar.com/avatar/${hash}?size=${size}${url}`; } } export default GravatarAvatarComponent;