Skip to content

Commit 74532db

Browse files
committed
refactor: update FeedItemHeader to accept individual props and adjust usage in feed item components
1 parent 407678a commit 74532db

4 files changed

Lines changed: 21 additions & 12 deletions

File tree

src/features/feed/components/FeedItemHeader.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,35 @@
11
import { CardLink } from 'src/components/Elements'
22
import { Attributes } from 'src/lib/analytics'
3-
import { FeedItem as FeedItemType } from 'src/types'
43
import { FeedItemImage } from './FeedItemImage'
54

65
type FeedItemHeaderProps = {
7-
item: FeedItemType
6+
title: string
7+
image: string
8+
url: string
9+
source: string
810
fallbackImage?: string | React.ReactNode
911
}
1012

11-
export const FeedItemHeader = ({ item, fallbackImage }: FeedItemHeaderProps) => {
13+
export const FeedItemHeader = ({
14+
title,
15+
url,
16+
source,
17+
image,
18+
fallbackImage,
19+
}: FeedItemHeaderProps) => {
1220
return (
1321
<div className="rowTitle">
1422
<CardLink
15-
link={item.url}
23+
link={url}
1624
className="titleWithCover"
1725
analyticsAttributes={{
1826
[Attributes.TRIGERED_FROM]: 'card',
19-
[Attributes.TITLE]: item.title,
20-
[Attributes.LINK]: item.url,
21-
[Attributes.SOURCE]: item.source,
27+
[Attributes.TITLE]: title,
28+
[Attributes.LINK]: url,
29+
[Attributes.SOURCE]: source,
2230
}}>
23-
<FeedItemImage imageUrl={item.image} fallbackImage={fallbackImage} />
24-
<span className="subTitle">{item.title}</span>
31+
<FeedItemImage imageUrl={image} fallbackImage={fallbackImage} />
32+
<span className="subTitle">{title}</span>
2533
</CardLink>
2634
</div>
2735
)

src/features/feed/components/feedItems/ArticleFeedItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const ArticleFeedItem = (props: BaseItemPropsType<ArticleFeedItemData>) =
1919
key={index}
2020
cardItem={
2121
<>
22-
<FeedItemHeader item={item} />
22+
<FeedItemHeader {...item} />
2323
{listingMode === 'compact' && (
2424
<div className="rowDetails">
2525
<span className="rowItem capitalize">

src/features/feed/components/feedItems/ProductFeedItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const ProductFeedItem = (props: BaseItemPropsType<ProductHuntFeedItemData
1818
key={index}
1919
cardItem={
2020
<>
21-
<FeedItemHeader item={item} />
21+
<FeedItemHeader {...item} source="producthunt" />
2222
<div className="rowDetails">
2323
<span className="rowItem">{item.tagline}</span>
2424
</div>

src/features/feed/components/feedItems/RepoFeedItem.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export const RepoFeedItem = (props: BaseItemPropsType<GithubFeedItemData>) => {
2323
cardItem={
2424
<>
2525
<FeedItemHeader
26-
item={item}
26+
{...item}
27+
source="github"
2728
fallbackImage={
2829
<div className="rowCover repo">
2930
<SiGithub size={40} />

0 commit comments

Comments
 (0)