ArticleCard image refactoring

This commit is contained in:
tmshv committed 2019-10-17 12:28:32 +03:00
1 parent 3dfca4c3e2
commit 9fb815081c
2 files changed
+29 -13

No files matched your search

+14 -7
View File
@@ -6,11 +6,18 @@ const Date = ({ children }) => (
<p className="date">{dateFormat(children)}</p> <p className="date">{dateFormat(children)}</p>
) )
export interface IArticleCardProps { interface IImage {
article: any alt: string
src: string
srcSet: Array<{ url: string, density: number }>
} }
export const ArticleCard: React.FC<IArticleCardProps> = ({ article }) => ( export interface IArticleCardProps {
article: any
preview?: IImage
}
export const ArticleCard: React.FC<IArticleCardProps> = ({ article, ...props }) => (
<section className="ArticleCard"> <section className="ArticleCard">
<style jsx>{` <style jsx>{`
.ArticleCard { .ArticleCard {
@@ -105,13 +112,13 @@ export const ArticleCard: React.FC<IArticleCardProps> = ({ article }) => (
<a className="invisible" href={article.url}> <a className="invisible" href={article.url}>
<div className="ArticleCard-image"> <div className="ArticleCard-image">
{!article.preview ? null : ( {!props.preview ? null : (
<picture> <picture>
<img <img
className={cx({ opa: false })} className={cx({ opa: false })}
alt={article.title} alt={props.preview.alt}
src={article.preview.src} src={props.preview.src}
srcSet={article.preview.set.map(({ url, density }) => `${url} ${density}x`)} srcSet={props.preview.srcSet.map(({ url, density }) => `${url} ${density}x`).join(' ')}
/> />
</picture > </picture >
)} )}
+15 -6
View File
@@ -17,12 +17,21 @@ export const ArticleCardList = ({ articles, nextPage, prevPage }) => (
)} )}
<div className={'body'}> <div className={'body'}>
{articles.map((article, i) => ( {articles.map((article, i) => {
<ArticleCard const preview = {
key={i} alt: article.title,
article={article} src: article.preview.src,
/> srcSet: article.preview.set,
))} }
return (
<ArticleCard
key={i}
article={article}
preview={preview}
/>
)
})}
</div> </div>
{!nextPage ? null : ( {!nextPage ? null : (