ngx-avatars
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
29 lines • 2.94 kB
JavaScript
import { AvatarSource } from './avatar-source.enum';
/**
* Twitter source implementation.
* Fetch avatar source based on google identifier
* and image size
*/
export class Twitter {
constructor(sourceId) {
this.sourceId = sourceId;
this.sourceType = AvatarSource.TWITTER;
}
getAvatar(size) {
const twitterImgSize = this.getImageSize(size);
return `https://twitter.com/${this.sourceId}/profile_image?size=${twitterImgSize}`;
}
getImageSize(size) {
if (size <= 24) {
return 'mini';
}
if (size <= 48) {
return 'normal';
}
if (size <= 73) {
return 'bigger';
}
return 'original';
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdmF0YXJzL3NyYy9saWIvc291cmNlcy90d2l0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFHbEIsWUFBbUIsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUYxQixlQUFVLEdBQWlCLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFFbkIsQ0FBQztJQUVoQyxTQUFTLENBQUMsSUFBWTtRQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sdUJBQ0wsSUFBSSxDQUFDLFFBQ1AsdUJBQXVCLGNBQWMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWTtRQUMvQixJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vYXZhdGFyLXNvdXJjZS5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiAgVHdpdHRlciBzb3VyY2UgaW1wbGVtZW50YXRpb24uXHJcbiAqICBGZXRjaCBhdmF0YXIgc291cmNlIGJhc2VkIG9uIGdvb2dsZSBpZGVudGlmaWVyXHJcbiAqICBhbmQgaW1hZ2Ugc2l6ZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFR3aXR0ZXIgaW1wbGVtZW50cyBTb3VyY2Uge1xyXG4gIHJlYWRvbmx5IHNvdXJjZVR5cGU6IEF2YXRhclNvdXJjZSA9IEF2YXRhclNvdXJjZS5UV0lUVEVSO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlSWQ6IHN0cmluZykge31cclxuXHJcbiAgcHVibGljIGdldEF2YXRhcihzaXplOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdHdpdHRlckltZ1NpemUgPSB0aGlzLmdldEltYWdlU2l6ZShzaXplKTtcclxuICAgIHJldHVybiBgaHR0cHM6Ly90d2l0dGVyLmNvbS8ke1xyXG4gICAgICB0aGlzLnNvdXJjZUlkXHJcbiAgICB9L3Byb2ZpbGVfaW1hZ2U/c2l6ZT0ke3R3aXR0ZXJJbWdTaXplfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEltYWdlU2l6ZShzaXplOiBudW1iZXIpIHtcclxuICAgIGlmIChzaXplIDw9IDI0KSB7XHJcbiAgICAgIHJldHVybiAnbWluaSc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNpemUgPD0gNDgpIHtcclxuICAgICAgcmV0dXJuICdub3JtYWwnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaXplIDw9IDczKSB7XHJcbiAgICAgIHJldHVybiAnYmlnZ2VyJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJ29yaWdpbmFsJztcclxuICB9XHJcbn1cclxuIl19