ngx-avatar-2
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
30 lines • 2.81 kB
JavaScript
import { AvatarSource } from './avatar-source.enum';
/**
* Twitter source implementation.
* Fetch avatar source based on google identifier
* and image size
*/
export class Twitter {
sourceId;
sourceType = AvatarSource.TWITTER;
constructor(sourceId) {
this.sourceId = sourceId;
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdmF0YXItMi9zcmMvbGliL3NvdXJjZXMvdHdpdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxPQUFPO0lBR0M7SUFGVixVQUFVLEdBQWlCLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFFekQsWUFBbUIsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUFHLENBQUM7SUFFaEMsU0FBUyxDQUFDLElBQVk7UUFDM0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxPQUFPLHVCQUNMLElBQUksQ0FBQyxRQUNQLHVCQUF1QixjQUFjLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVk7UUFDL0IsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ2QsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELElBQUksSUFBSSxJQUFJLEVBQUUsRUFBRTtZQUNkLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ2QsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBBdmF0YXJTb3VyY2UgfSBmcm9tICcuL2F2YXRhci1zb3VyY2UuZW51bSc7XG5cbi8qKlxuICogIFR3aXR0ZXIgc291cmNlIGltcGxlbWVudGF0aW9uLlxuICogIEZldGNoIGF2YXRhciBzb3VyY2UgYmFzZWQgb24gZ29vZ2xlIGlkZW50aWZpZXJcbiAqICBhbmQgaW1hZ2Ugc2l6ZVxuICovXG5leHBvcnQgY2xhc3MgVHdpdHRlciBpbXBsZW1lbnRzIFNvdXJjZSB7XG4gIHJlYWRvbmx5IHNvdXJjZVR5cGU6IEF2YXRhclNvdXJjZSA9IEF2YXRhclNvdXJjZS5UV0lUVEVSO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2VJZDogc3RyaW5nKSB7fVxuXG4gIHB1YmxpYyBnZXRBdmF0YXIoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB0d2l0dGVySW1nU2l6ZSA9IHRoaXMuZ2V0SW1hZ2VTaXplKHNpemUpO1xuICAgIHJldHVybiBgaHR0cHM6Ly90d2l0dGVyLmNvbS8ke1xuICAgICAgdGhpcy5zb3VyY2VJZFxuICAgIH0vcHJvZmlsZV9pbWFnZT9zaXplPSR7dHdpdHRlckltZ1NpemV9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW1hZ2VTaXplKHNpemU6IG51bWJlcikge1xuICAgIGlmIChzaXplIDw9IDI0KSB7XG4gICAgICByZXR1cm4gJ21pbmknO1xuICAgIH1cblxuICAgIGlmIChzaXplIDw9IDQ4KSB7XG4gICAgICByZXR1cm4gJ25vcm1hbCc7XG4gICAgfVxuXG4gICAgaWYgKHNpemUgPD0gNzMpIHtcbiAgICAgIHJldHVybiAnYmlnZ2VyJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ29yaWdpbmFsJztcbiAgfVxufVxuIl19