From 6b7e09f06384e0d54567e6ba447b321c89894cf6 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Sat, 11 Nov 2017 12:22:23 -0800 Subject: [PATCH] Handle error when loading avatar, show default --- app/components/Avatar/Avatar.js | 28 +++++++++++++++++- app/components/Avatar/placeholder.png | Bin 0 -> 976 bytes app/components/Collaborators/Collaborators.js | 21 ++++++------- 3 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 app/components/Avatar/placeholder.png diff --git a/app/components/Avatar/Avatar.js b/app/components/Avatar/Avatar.js index 8422b8733..18baa139c 100644 --- a/app/components/Avatar/Avatar.js +++ b/app/components/Avatar/Avatar.js @@ -1,10 +1,36 @@ // @flow +import React, { Component } from 'react'; import styled from 'styled-components'; +import { observable } from 'mobx'; +import { observer } from 'mobx-react'; +import { color } from 'shared/styles/constants'; +import placeholder from './placeholder.png'; -const Avatar = styled.img` +@observer +class Avatar extends Component { + @observable error: boolean; + + handleError = () => { + this.error = true; + }; + + render() { + return ( + + ); + } +} + +const CircleImg = styled.img` width: 24px; height: 24px; border-radius: 50%; + border: 2px solid ${color.white}; + flex-shrink: 0; `; export default Avatar; diff --git a/app/components/Avatar/placeholder.png b/app/components/Avatar/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..573c74b4e20153e59ff1a0417be5c2de9bbf1172 GIT binary patch literal 976 zcmV;>126oEP)Px&ib+I4RA>e5SxZP&Q50S8`6)9iznNxMqLS$&G&HEt!Rv#igKQA#AgHDl(V!qA znpA^=MokJLDw@=wKnNTpRHUecT2K)bW|`(UEb#Yw>%j$mKhHkzTtDCfdE9%?U3;y2 z&)sM5qoca+ln09#&PA-BNb;L#TA`g2Ukm7boDF$KyeL!zEI}Zr#P`-+wc%s~%`&AwKy?#7`H;2S6@z>Oku*P8;1PA50{<$f*Od0e-NY z^QJ*ga!VmLz-%M^U{yqsliX5>3}mLKDW^)Q5RPXW=2{|w$UtdHk%U`oEEhrvL@*>bAu?d6aEqHIh6Ex5tSars;LwODgvbC(V!I)YAu_;v z-fl=^hzvBhcG#`o*YHS!hzxZ1^n%TZT_Cr#TN4?eaCTDCOrc_!oaB~5Y=CVbJ1Ns3 zr%sD0HbCKQ1KU4*Hs*m`DUyEya7{Uba=Er zVx2&C-J`v+iFipZ*kD#}Q2- ziguUpKv{7S)}|$k1pMmlM^jq|8XDh5WJb$Cinq0_t*J!C&h6SeYL;8(|Cg^@@bF1J zeruHLA_LJ;Q8?-qUcJ8pF)_wwpU(@|g6A(9@yKgrVsg^*H|wvmid6~mxZvHxEXdE9 zl~iXyY-|i_s@&L;w+UChEAz;oQ6(CsER>y8pr&95YJiIr)7nA-wNO(q1Q=j> yz!i3(ftskz9{~nf+vxto&7a)lF*Q+}KmG$HNgMG34hHi80000 { const { createdAt, updatedAt, @@ -40,19 +42,14 @@ const StyledTooltip = styled(Tooltip)` `; const Avatars = styled(Flex)` + align-items: center; flex-direction: row-reverse; - height: 26px; -`; -const Avatar = styled.img` - width: 26px; - height: 26px; - flex-shrink: 0; - border-radius: 50%; - border: 2px solid ${color.white}; - margin-right: -10px; + ${Avatar} & { + margin-right: -10px; + } - &:first-child { + ${Avatar} &:first-child { margin-right: 0; } `;