fix image

This commit is contained in:
Ignacio Bona 2019-09-04 22:02:08 -07:00
parent e2f985a298
commit e207d31729
3 changed files with 11 additions and 6 deletions

View File

@ -13,6 +13,7 @@ export interface IUser {
id: number;
name: string;
userName: string;
pictureLink: string;
userSetting: null | {
defaultWatch: string;
detailDefaultView: string;

View File

@ -4,6 +4,9 @@ import { IAppConfig } from '@datahub/shared/types/configurator/configurator';
type AvatarCreatorFunc = (obj: Partial<IAvatar>) => IAvatar;
// gray circle
const fallback = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
/**
* Takes a Partial<IAvatar> object and builds an IAvatar
* @param {Partial<IAvatar>} object
@ -11,15 +14,16 @@ type AvatarCreatorFunc = (obj: Partial<IAvatar>) => IAvatar;
* @param {IAppConfig.userEntityProps.aviUrlFallback} aviUrlFallback
* @return {IAvatar}
*/
const makeAvatar = ({ aviUrlPrimary, aviUrlFallback = '' }: IAppConfig['userEntityProps']): AvatarCreatorFunc => (
const makeAvatar = ({ aviUrlPrimary, aviUrlFallback = fallback }: IAppConfig['userEntityProps']): AvatarCreatorFunc => (
object: Partial<IAvatar>
): IAvatar => {
const props = pick(object, ['email', 'userName', 'name']);
const props = pick(object, ['email', 'userName', 'name', 'imageUrl']);
const { userName } = props;
const imageFallback = aviUrlFallback || fallback;
return {
imageUrl: userName && aviUrlPrimary ? aviUrlPrimary.replace('[username]', userName) : aviUrlFallback,
imageUrlFallback: aviUrlFallback,
imageUrl: userName && aviUrlPrimary ? aviUrlPrimary.replace('[username]', userName) : imageFallback,
imageUrlFallback: imageFallback,
...props
};
};

View File

@ -91,8 +91,8 @@ export default class ApplicationRoute extends Route.extend(ApplicationRouteMixin
getConfig('wikiLinks')
];
const sessionUser = this.sessionUser || {};
const { userName = '', email = '', name = '' } = sessionUser.currentUser || {};
const avatar = makeAvatar(avatarEntityProps)({ userName, email, name });
const { userName = '', email = '', name = '', pictureLink = '' } = sessionUser.currentUser || {};
const avatar = makeAvatar(avatarEntityProps)({ userName, email, name, imageUrl: pictureLink });
return {
showStagingBanner,