@@ -5,62 +5,66 @@ const commentsImage = require('../images/comments.png');
55const dummyUserImage = require ( '../images/dummyUser.png' ) ;
66
77export class PostCard extends Component {
8- constructor ( props ) {
9- super ( props ) ;
10- }
8+ constructor ( props ) {
9+ super ( props ) ;
10+ }
1111
12- getReplacedImage ( src ) {
13- var newSrc = 'https://cdn.hashnode.com/res/hashnode/image/upload/' ;
14- var parts = src . split ( '/upload/' ) ;
15- var format = parts [ 1 ] . substring ( parts [ 1 ] . lastIndexOf ( '.' ) + 1 ) ;
16- var imageNameParts = parts [ 1 ] . substring ( 1 , src . split ( '/upload/' ) [ 1 ] . length ) . split ( '/' ) ;
17- newSrc += ( imageNameParts [ 1 ] . split ( '.' ) [ 0 ] + '/' + imageNameParts [ 0 ] + '.' + format ) ;
18- return newSrc ;
19- }
12+ getReplacedImage ( src ) {
13+ var newSrc = 'https://cdn.hashnode.com/res/hashnode/image/upload/' ;
14+ var parts = src . split ( '/upload/' ) ;
15+ var format = parts [ 1 ] . substring ( parts [ 1 ] . lastIndexOf ( '.' ) + 1 ) ;
16+ var imageNameParts = parts [ 1 ] . substring ( 1 , src . split ( '/upload/' ) [ 1 ] . length ) . split ( '/' ) ;
17+ newSrc += ( imageNameParts [ 1 ] . split ( '.' ) [ 0 ] + '/' + imageNameParts [ 0 ] + '.' + format ) ;
18+ return newSrc ;
19+ }
2020
21- loadProfileImage ( src ) {
22- if ( ! src ) {
23- return ;
24- }
25- if ( src . indexOf ( '//res.cloudinary.com' ) !== - 1 && src . indexOf ( '/upload/' ) !== - 1 ) {
26- return this . getReplacedImage ( src ) ;
27- }
28- return src ;
29- }
21+ loadProfileImage ( src ) {
22+ if ( ! src ) {
23+ return ;
24+ }
25+ if ( src . indexOf ( '//res.cloudinary.com' ) !== - 1 && src . indexOf ( '/upload/' ) !== - 1 ) {
26+ return this . getReplacedImage ( src ) ;
27+ }
28+ return src ;
29+ }
3030
31- render ( ) {
31+ render ( ) {
3232
33- const post = this . props . post ;
33+ const post = this . props . post ;
3434
35- return (
36- < div >
37- { post . coverImage && < img className = "post-cover" src = { post . coverImage } width = "100%" /> }
38- < div className = "post-details" >
39- < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" >
40- < h3 className = "post-title" > { post . title } </ h3 >
41- < p className = "post-desc" >
42- { post . brief . substring ( 0 , 140 ) } ...
35+ return (
36+ < div >
37+ { post . coverImage && < img className = "post-cover" src = { post . coverImage } width = "100%" /> }
38+ < div className = "post-details" >
39+ < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" >
40+ < h3 className = "post-title" > { post . title } </ h3 >
41+ < p className = "post-desc" >
42+ { post . brief . substring ( 0 , 140 ) } ...
4343 </ p >
44- </ a >
45- < div className = "post-footer" >
46- < a href = { `${ post . author ? 'https://hashnode.com/@' + post . author . username + '?utm_source=chrome_extension&utm_medium=extension' : '' } ` } target = "_blank" className = "author" >
47- < img src = { ( ( post . author && post . author . photo && this . loadProfileImage ( post . author . photo ) ) || dummyUserImage ) } />
48- </ a >
49- < div className = "post-activity" >
50- < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" className = "reactions" >
51- < img src = { thumbsImage } />
52- { post . totalReactions }
53- </ a >
54- < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" className = "comments" >
55- < img src = { commentsImage } />
56- { post . responseCount }
57- </ a >
58- </ div >
59- </ div >
60- </ div >
61- </ div >
62- )
63- }
44+ </ a >
45+ < div className = "post-footer" >
46+ < a href = { `${ post . author ? 'https://hashnode.com/@' + post . author . username + '?utm_source=chrome_extension&utm_medium=extension' : '' } ` } target = "_blank" className = "author"
47+ style = { {
48+ backgroundImage : 'url("' + ( ( post . author && post . author . photo && this . loadProfileImage ( post . author . photo ) ) || dummyUserImage ) + '")'
49+ } }
50+ >
51+ { /* <img src={((post.author && post.author.photo && this.loadProfileImage(post.author.photo)) || dummyUserImage)} /> */ }
52+ </ a >
53+ < div className = "post-activity" >
54+ < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" className = "reactions" >
55+ < img src = { thumbsImage } />
56+ { post . totalReactions }
57+ </ a >
58+ < a href = { `https://hashnode.com/post/${ post . slug } -${ post . cuid } ?utm_source=chrome_extension&utm_medium=extension` } target = "_blank" className = "comments" >
59+ < img src = { commentsImage } />
60+ { post . responseCount }
61+ </ a >
62+ </ div >
63+ </ div >
64+ </ div >
65+ </ div >
66+ )
67+ }
6468}
6569
6670export default PostCard
0 commit comments