Skip to content

Commit 54ea9d9

Browse files
fix: Broken cover images #1699 (#1700)
1 parent 538d3b9 commit 54ea9d9

4 files changed

Lines changed: 33 additions & 12 deletions

File tree

src/common/playlists/PlayCard.jsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { BiLogoTypescript, BiLogoJavascript } from 'react-icons/bi';
55
import PlayShare from './PlayShare.jsx';
66
import Like from 'common/components/Like/Like';
77
import userImage from 'images/user.png';
8+
import PlayThumbnailFallBack from './PlayThumbnailFallBack';
89

910
const formatDate = (dateString) => dateString || '';
1011

@@ -41,17 +42,19 @@ function PlayCard({ play, cover, likeObject }) {
4142
return (
4243
<Link className="group block" to={linkTo}>
4344
<div className="play-card-container max-w-sm bg-white rounded-xl overflow-hidden flex flex-col h-full">
44-
{cover && (
45-
<div className="relative h-48">
45+
<div className="relative h-48">
46+
{cover ? (
4647
<img alt={play.name} className="w-full h-full object-cover" src={cover} />
47-
<div className="absolute inset-0 thumb-overlay pointer-events-none" />
48-
<BsPlayCircleFill
49-
className="absolute inset-0 m-auto z-10 opacity-0 transition-opacity duration-200 pointer-events-none"
50-
color="white"
51-
size={80}
52-
/>
53-
</div>
54-
)}
48+
) : (
49+
<PlayThumbnailFallBack playName={play?.name} />
50+
)}
51+
<div className="absolute inset-0 thumb-overlay pointer-events-none" />
52+
<BsPlayCircleFill
53+
className="absolute inset-0 m-auto z-10 opacity-0 transition-opacity duration-200 pointer-events-none"
54+
color="white"
55+
size={80}
56+
/>
57+
</div>
5558

5659
<div className="p-5 flex flex-col flex-grow">
5760
<LanguageBadge />
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import ImgLogo from 'images/img-logo-light-sm.svg';
2+
3+
const PlayThumbnailFallBack = ({ playName }) => {
4+
return (
5+
<div className="w-full h-full flex flex-col justify-center items-center">
6+
<img alt={playName} src={ImgLogo} />
7+
<span>{playName}</span>
8+
</div>
9+
);
10+
};
11+
12+
export default PlayThumbnailFallBack;

src/common/utils/coverImageUtil.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import FallbackImage from 'images/play-fallback-cover.png';
21
import { IMAGE_EXTENSIONS, FULFILLED_STATUS } from './utilsConstants';
32

43
/**
@@ -30,5 +29,5 @@ export const loadCoverImage = async (playSlug) => {
3029
(result) => result.status === FULFILLED_STATUS && result.value?.default
3130
);
3231

33-
return image?.value.default || FallbackImage;
32+
return image?.value.default || null;
3433
};

src/images/img-logo-light-sm.svg

Lines changed: 7 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)