ember-initials
Version:
Simple Initials Avatars for Ember applications
31 lines (22 loc) • 781 B
JavaScript
import ImageAvatarComponent from '../image';
import { tracked } from '@glimmer/tracking';
import { reads } from '@ember/object/computed';
import md5 from 'blueimp-md5';
class GravatarAvatarComponent extends ImageAvatarComponent {
email = '';
('config.gravatar.defaultImageUrl') defaultImage;
_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;