Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(Card): extract image #6066

Merged
merged 3 commits into from
Oct 3, 2022
Merged

refactor(Card): extract image #6066

merged 3 commits into from
Oct 3, 2022

Conversation

mxdvl
Copy link
Contributor

@mxdvl mxdvl commented Sep 27, 2022

What does this change?

Settle on a single image value to avoid parallel branches that are harder to reason about.
Allow optional parameters not to be set.

Why?

I was looking at this code, and this seemed like a worthwile refactor.

This reduces the amount HTML on Cards without an image, including the img tag without a src attribute.

 <div><img alt="" role="presentation"></div>

Screenshots

No change, as can be glanced by the absence of Chromatic diffs.

Settle on a single image type
to avoid parallel branches that
are harder to reason about.

Allow optional parameters not to be set
@mxdvl mxdvl added the Health label Sep 27, 2022
@mxdvl mxdvl requested a review from a team as a code owner September 27, 2022 13:04
@github-actions
Copy link

github-actions bot commented Sep 27, 2022

Size Change: -578 kB (-26%) 🎉

Total Size: 1.68 MB

Filename Size Change
dotcom-rendering/dist/2344.********************.js 0 B -2.72 kB (removed) 🏆
dotcom-rendering/dist/2486.legacy.********************.js 0 B -4.54 kB (removed) 🏆
dotcom-rendering/dist/2947.********************.js 0 B -2.74 kB (removed) 🏆
dotcom-rendering/dist/3210.********************.js 0 B -8.6 kB (removed) 🏆
dotcom-rendering/dist/3307.********************.js 0 B -3.12 kB (removed) 🏆
dotcom-rendering/dist/3584.********************.js 0 B -1.8 kB (removed) 🏆
dotcom-rendering/dist/3592.********************.js 0 B -20.9 kB (removed) 🏆
dotcom-rendering/dist/4019.********************.js 0 B -3.44 kB (removed) 🏆
dotcom-rendering/dist/4541.legacy.********************.js 0 B -5.39 kB (removed) 🏆
dotcom-rendering/dist/5058.********************.js 0 B -2.73 kB (removed) 🏆
dotcom-rendering/dist/5553.********************.js 0 B -2.86 kB (removed) 🏆
dotcom-rendering/dist/5887.********************.js 0 B -5.94 kB (removed) 🏆
dotcom-rendering/dist/6131.********************.js 0 B -4.29 kB (removed) 🏆
dotcom-rendering/dist/6165.********************.js 0 B -33.1 kB (removed) 🏆
dotcom-rendering/dist/6204.********************.js 0 B -5.56 kB (removed) 🏆
dotcom-rendering/dist/6400.********************.js 0 B -21.5 kB (removed) 🏆
dotcom-rendering/dist/6462.legacy.********************.js 0 B -4.16 kB (removed) 🏆
dotcom-rendering/dist/6887.legacy.********************.js 0 B -3.54 kB (removed) 🏆
dotcom-rendering/dist/7148.********************.js 0 B -6.8 kB (removed) 🏆
dotcom-rendering/dist/7148.legacy.********************.js 7.32 kB -2.36 kB (-24%) 🎉
dotcom-rendering/dist/7576.********************.js 0 B -3.96 kB (removed) 🏆
dotcom-rendering/dist/7800.********************.js 0 B -11.3 kB (removed) 🏆
dotcom-rendering/dist/7829.********************.js 0 B -2.8 kB (removed) 🏆
dotcom-rendering/dist/7981.********************.js 0 B -4.32 kB (removed) 🏆
dotcom-rendering/dist/8109.********************.js 0 B -6.79 kB (removed) 🏆
dotcom-rendering/dist/8414.********************.js 0 B -4.38 kB (removed) 🏆
dotcom-rendering/dist/8612.********************.js 0 B -3.69 kB (removed) 🏆
dotcom-rendering/dist/8808.********************.js 0 B -5.3 kB (removed) 🏆
dotcom-rendering/dist/9154.********************.js 0 B -3.19 kB (removed) 🏆
dotcom-rendering/dist/9748.********************.js 0 B -4.74 kB (removed) 🏆
dotcom-rendering/dist/AlreadyVisited-importable.********************.js 0 B -4.52 kB (removed) 🏆
dotcom-rendering/dist/atomIframe.********************.js 0 B -757 B (removed) 🏆
dotcom-rendering/dist/AudioAtomWrapper-importable.********************.js 0 B -461 B (removed) 🏆
dotcom-rendering/dist/bootCmp.********************.js 0 B -9.52 kB (removed) 🏆
dotcom-rendering/dist/Branding-importable.********************.js 0 B -4.64 kB (removed) 🏆
dotcom-rendering/dist/braze-web-sdk-core.********************.js 0 B -36.9 kB (removed) 🏆
dotcom-rendering/dist/BrazeMessaging-importable.********************.js 0 B -9.46 kB (removed) 🏆
dotcom-rendering/dist/CalloutBlockComponent-importable.********************.js 0 B -4.26 kB (removed) 🏆
dotcom-rendering/dist/Carousel-importable.********************.js 0 B -11.5 kB (removed) 🏆
dotcom-rendering/dist/ChartAtomWrapper-importable.********************.js 0 B -261 B (removed) 🏆
dotcom-rendering/dist/CommentCount-importable.********************.js 0 B -3.46 kB (removed) 🏆
dotcom-rendering/dist/CommercialMetrics-importable.********************.js 0 B -8.96 kB (removed) 🏆
dotcom-rendering/dist/CoreVitals-importable.********************.js 0 B -6.09 kB (removed) 🏆
dotcom-rendering/dist/DiscussionContainer-importable.********************.js 0 B -3.5 kB (removed) 🏆
dotcom-rendering/dist/DiscussionMeta-importable.********************.js 0 B -3.94 kB (removed) 🏆
dotcom-rendering/dist/DocumentBlockComponent-importable.********************.js 0 B -2.98 kB (removed) 🏆
dotcom-rendering/dist/dynamicImport.********************.js 0 B -2 kB (removed) 🏆
dotcom-rendering/dist/EditionDropdown-importable.********************.js 0 B -4.1 kB (removed) 🏆
dotcom-rendering/dist/EmbedBlockComponent-importable.********************.js 0 B -3.34 kB (removed) 🏆
dotcom-rendering/dist/embedIframe.********************.js 0 B -759 B (removed) 🏆
dotcom-rendering/dist/EnhancePinnedPost-importable.********************.js 0 B -6.24 kB (removed) 🏆
dotcom-rendering/dist/FetchCommentCounts-importable.********************.js 0 B -1.73 kB (removed) 🏆
dotcom-rendering/dist/FetchOnwardsData-importable.********************.js 0 B -2.23 kB (removed) 🏆
dotcom-rendering/dist/FilterButton-importable.********************.js 0 B -2.64 kB (removed) 🏆
dotcom-rendering/dist/FilterKeyEventsToggle-importable.********************.js 0 B -3.82 kB (removed) 🏆
dotcom-rendering/dist/FocusStyles-importable.********************.js 0 B -4.71 kB (removed) 🏆
dotcom-rendering/dist/frontend.server.js 508 kB +1.04 kB (0%)
dotcom-rendering/dist/ga.********************.js 0 B -2.83 kB (removed) 🏆
dotcom-rendering/dist/GetCricketScoreboard-importable.********************.js 0 B -4.01 kB (removed) 🏆
dotcom-rendering/dist/GetMatchNav-importable.********************.js 0 B -7.36 kB (removed) 🏆
dotcom-rendering/dist/GetMatchStats-importable.********************.js 0 B -6.35 kB (removed) 🏆
dotcom-rendering/dist/GetMatchTabs-importable.********************.js 0 B -3.08 kB (removed) 🏆
dotcom-rendering/dist/guardian-braze-components-banner.********************.js 0 B -11.3 kB (removed) 🏆
dotcom-rendering/dist/guardian-braze-components-end-of-article.********************.js 0 B -9.28 kB (removed) 🏆
dotcom-rendering/dist/GuideAtomWrapper-importable.********************.js 0 B -263 B (removed) 🏆
dotcom-rendering/dist/initDiscussion.********************.js 0 B -11.1 kB (removed) 🏆
dotcom-rendering/dist/InstagramBlockComponent-importable.********************.js 0 B -3 kB (removed) 🏆
dotcom-rendering/dist/InteractiveBlockComponent-importable.********************.js 0 B -4.26 kB (removed) 🏆
dotcom-rendering/dist/islands.********************.js 0 B -11.3 kB (removed) 🏆
dotcom-rendering/dist/KeyEventsCarousel-importable.********************.js 0 B -2.9 kB (removed) 🏆
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.********************.js 0 B -269 B (removed) 🏆
dotcom-rendering/dist/LabsHeader-importable.********************.js 0 B -6.56 kB (removed) 🏆
dotcom-rendering/dist/Links-importable.********************.js 0 B -6.33 kB (removed) 🏆
dotcom-rendering/dist/LiveBlogEpic-importable.********************.js 0 B -6.22 kB (removed) 🏆
dotcom-rendering/dist/Liveness-importable.********************.js 0 B -3.58 kB (removed) 🏆
dotcom-rendering/dist/MapEmbedBlockComponent-importable.********************.js 0 B -5.11 kB (removed) 🏆
dotcom-rendering/dist/MostViewedFooterData-importable.********************.js 0 B -7.75 kB (removed) 🏆
dotcom-rendering/dist/MostViewedRightWrapper-importable.********************.js 0 B -6.99 kB (removed) 🏆
dotcom-rendering/dist/newsletterEmbedIframe.********************.js 0 B -931 B (removed) 🏆
dotcom-rendering/dist/OnwardsUpper-importable.********************.js 0 B -6.85 kB (removed) 🏆
dotcom-rendering/dist/ophan.********************.js 0 B -7.24 kB (removed) 🏆
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.********************.js 0 B -271 B (removed) 🏆
dotcom-rendering/dist/ProfileAtomWrapper-importable.********************.js 0 B -264 B (removed) 🏆
dotcom-rendering/dist/PulsingDot-importable.********************.js 0 B -1.65 kB (removed) 🏆
dotcom-rendering/dist/QandaAtomWrapper-importable.********************.js 0 B -262 B (removed) 🏆
dotcom-rendering/dist/ReaderRevenueDev-importable.********************.js 0 B -4.58 kB (removed) 🏆
dotcom-rendering/dist/readerRevenueDevUtils.********************.js 0 B -3.88 kB (removed) 🏆
dotcom-rendering/dist/ReaderRevenueLinks-importable.********************.js 0 B -5.87 kB (removed) 🏆
dotcom-rendering/dist/relativeTime.********************.js 0 B -1.3 kB (removed) 🏆
dotcom-rendering/dist/RichLinkComponent-importable.********************.js 0 B -5.74 kB (removed) 🏆
dotcom-rendering/dist/SecureSignupIframe-importable.********************.js 0 B -8.43 kB (removed) 🏆
dotcom-rendering/dist/SecureSignupIframe-importable.legacy.********************.js 8.77 kB +833 B (+11%) ⚠️
dotcom-rendering/dist/sentry.********************.js 0 B -681 B (removed) 🏆
dotcom-rendering/dist/sentryLoader.********************.js 0 B -10.1 kB (removed) 🏆
dotcom-rendering/dist/sentryLoader.legacy.********************.js 14 kB -147 B (-1%)
dotcom-rendering/dist/SetABTests-importable.********************.js 0 B -4.22 kB (removed) 🏆
dotcom-rendering/dist/ShareCount-importable.********************.js 0 B -3.59 kB (removed) 🏆
dotcom-rendering/dist/shimport.********************.js 0 B -2.78 kB (removed) 🏆
dotcom-rendering/dist/ShowHideContainers-importable.********************.js 0 B -726 B (removed) 🏆
dotcom-rendering/dist/SignInGateMain.********************.js 0 B -4.47 kB (removed) 🏆
dotcom-rendering/dist/SignInGateSelector-importable.********************.js 0 B -4.97 kB (removed) 🏆
dotcom-rendering/dist/SlotBodyEnd-importable.********************.js 0 B -2.31 kB (removed) 🏆
dotcom-rendering/dist/SpotifyBlockComponent-importable.********************.js 0 B -5.04 kB (removed) 🏆
dotcom-rendering/dist/StickyBottomBanner-importable.********************.js 0 B -5.08 kB (removed) 🏆
dotcom-rendering/dist/SubNav-importable.********************.js 0 B -3.26 kB (removed) 🏆
dotcom-rendering/dist/TimelineAtomWrapper-importable.********************.js 0 B -264 B (removed) 🏆
dotcom-rendering/dist/TopicFilterBank-importable.********************.js 0 B -3.72 kB (removed) 🏆
dotcom-rendering/dist/TopRightAdSlot-importable.********************.js 0 B -3.52 kB (removed) 🏆
dotcom-rendering/dist/TopRightAdSlot-importable.legacy.********************.js 4.13 kB +569 B (+16%) ⚠️
dotcom-rendering/dist/TweetBlockComponent-importable.********************.js 0 B -1.8 kB (removed) 🏆
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.********************.js 0 B -3.01 kB (removed) 🏆
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.********************.js 0 B -5.13 kB (removed) 🏆
dotcom-rendering/dist/VineBlockComponent-importable.********************.js 0 B -2.81 kB (removed) 🏆
dotcom-rendering/dist/YoutubeBlockComponent-importable.********************.js 0 B -6.36 kB (removed) 🏆
ℹ️ View Unchanged
Filename Size Change
dotcom-rendering/dist/1382.legacy.********************.js 5.69 kB 0 B
dotcom-rendering/dist/1794.legacy.********************.js 3.32 kB 0 B
dotcom-rendering/dist/2344.legacy.********************.js 2.78 kB 0 B
dotcom-rendering/dist/2344.modern.********************.js 2.72 kB 0 B
dotcom-rendering/dist/259.legacy.********************.js 3.25 kB 0 B
dotcom-rendering/dist/2947.legacy.********************.js 2.82 kB 0 B
dotcom-rendering/dist/2947.modern.********************.js 2.75 kB 0 B
dotcom-rendering/dist/2959.legacy.********************.js 4.91 kB 0 B
dotcom-rendering/dist/3210.modern.********************.js 8.61 kB 0 B
dotcom-rendering/dist/3307.modern.********************.js 3.13 kB 0 B
dotcom-rendering/dist/3584.legacy.********************.js 1.8 kB 0 B
dotcom-rendering/dist/3584.modern.********************.js 1.8 kB 0 B
dotcom-rendering/dist/3592.legacy.********************.js 21.8 kB 0 B
dotcom-rendering/dist/3592.modern.********************.js 20.9 kB 0 B
dotcom-rendering/dist/3872.legacy.********************.js 30.9 kB 0 B
dotcom-rendering/dist/4019.legacy.********************.js 3.48 kB 0 B
dotcom-rendering/dist/4019.modern.********************.js 3.45 kB 0 B
dotcom-rendering/dist/4071.legacy.********************.js 2.8 kB 0 B
dotcom-rendering/dist/4869.legacy.********************.js 6.7 kB -1 B (0%)
dotcom-rendering/dist/5058.modern.********************.js 2.74 kB 0 B
dotcom-rendering/dist/5436.legacy.********************.js 2.68 kB 0 B
dotcom-rendering/dist/5553.modern.********************.js 2.87 kB 0 B
dotcom-rendering/dist/5887.modern.********************.js 5.95 kB 0 B
dotcom-rendering/dist/6131.legacy.********************.js 4.3 kB 0 B
dotcom-rendering/dist/6131.modern.********************.js 4.3 kB 0 B
dotcom-rendering/dist/6165.modern.********************.js 33 kB 0 B
dotcom-rendering/dist/6204.modern.********************.js 5.56 kB 0 B
dotcom-rendering/dist/6400.legacy.********************.js 21.5 kB 0 B
dotcom-rendering/dist/6400.modern.********************.js 21.5 kB 0 B
dotcom-rendering/dist/7137.legacy.********************.js 6.4 kB 0 B
dotcom-rendering/dist/7148.modern.********************.js 6.8 kB 0 B
dotcom-rendering/dist/7347.legacy.********************.js 3.65 kB 0 B
dotcom-rendering/dist/7348.legacy.********************.js 6.12 kB +2 B (0%)
dotcom-rendering/dist/7576.legacy.********************.js 5.38 kB 0 B
dotcom-rendering/dist/7576.modern.********************.js 3.96 kB 0 B
dotcom-rendering/dist/7800.modern.********************.js 11.3 kB 0 B
dotcom-rendering/dist/7829.legacy.********************.js 2.91 kB 0 B
dotcom-rendering/dist/7829.modern.********************.js 2.8 kB 0 B
dotcom-rendering/dist/7981.modern.********************.js 4.33 kB 0 B
dotcom-rendering/dist/8109.modern.********************.js 6.8 kB 0 B
dotcom-rendering/dist/8129.legacy.********************.js 11.8 kB 0 B
dotcom-rendering/dist/8195.legacy.********************.js 2.98 kB 0 B
dotcom-rendering/dist/8414.legacy.********************.js 4.46 kB 0 B
dotcom-rendering/dist/8414.modern.********************.js 4.38 kB 0 B
dotcom-rendering/dist/8471.legacy.********************.js 5.45 kB 0 B
dotcom-rendering/dist/8492.legacy.********************.js 4.4 kB 0 B
dotcom-rendering/dist/8612.legacy.********************.js 4.18 kB 0 B
dotcom-rendering/dist/8612.modern.********************.js 3.69 kB 0 B
dotcom-rendering/dist/8789.legacy.********************.js 2.79 kB 0 B
dotcom-rendering/dist/8808.modern.********************.js 5.3 kB 0 B
dotcom-rendering/dist/9154.legacy.********************.js 3.31 kB +2 B (0%)
dotcom-rendering/dist/9154.modern.********************.js 3.19 kB 0 B
dotcom-rendering/dist/9380.legacy.********************.js 2.83 kB 0 B
dotcom-rendering/dist/9748.modern.********************.js 4.74 kB 0 B
dotcom-rendering/dist/AlreadyVisited-importable.legacy.********************.js 4.52 kB 0 B
dotcom-rendering/dist/AlreadyVisited-importable.modern.********************.js 4.52 kB 0 B
dotcom-rendering/dist/atomIframe.legacy.********************.js 806 B 0 B
dotcom-rendering/dist/atomIframe.modern.********************.js 762 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.legacy.********************.js 518 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.modern.********************.js 465 B 0 B
dotcom-rendering/dist/bootCmp.legacy.********************.js 13.1 kB 0 B
dotcom-rendering/dist/bootCmp.modern.********************.js 9.53 kB 0 B
dotcom-rendering/dist/Branding-importable.legacy.********************.js 4.65 kB 0 B
dotcom-rendering/dist/Branding-importable.modern.********************.js 4.65 kB 0 B
dotcom-rendering/dist/braze-web-sdk-core.legacy.********************.js 36.9 kB 0 B
dotcom-rendering/dist/braze-web-sdk-core.modern.********************.js 36.9 kB 0 B
dotcom-rendering/dist/BrazeMessaging-importable.legacy.********************.js 10.2 kB 0 B
dotcom-rendering/dist/BrazeMessaging-importable.modern.********************.js 9.46 kB 0 B
dotcom-rendering/dist/CalloutBlockComponent-importable.legacy.********************.js 4.55 kB +3 B (0%)
dotcom-rendering/dist/CalloutBlockComponent-importable.modern.********************.js 4.26 kB 0 B
dotcom-rendering/dist/Carousel-importable.legacy.********************.js 12 kB 0 B
dotcom-rendering/dist/Carousel-importable.modern.********************.js 11.6 kB 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.legacy.********************.js 273 B 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.modern.********************.js 266 B 0 B
dotcom-rendering/dist/CommentCount-importable.legacy.********************.js 3.56 kB 0 B
dotcom-rendering/dist/CommentCount-importable.modern.********************.js 3.47 kB 0 B
dotcom-rendering/dist/CommercialMetrics-importable.legacy.********************.js 813 B 0 B
dotcom-rendering/dist/CommercialMetrics-importable.modern.********************.js 9.07 kB 0 B
dotcom-rendering/dist/CoreVitals-importable.legacy.********************.js 6.31 kB 0 B
dotcom-rendering/dist/CoreVitals-importable.modern.********************.js 6.1 kB 0 B
dotcom-rendering/dist/debug.js 1.75 kB 0 B
dotcom-rendering/dist/DiscussionContainer-importable.legacy.********************.js 3.75 kB 0 B
dotcom-rendering/dist/DiscussionContainer-importable.modern.********************.js 3.5 kB 0 B
dotcom-rendering/dist/DiscussionMeta-importable.legacy.********************.js 4.05 kB 0 B
dotcom-rendering/dist/DiscussionMeta-importable.modern.********************.js 3.95 kB 0 B
dotcom-rendering/dist/DocumentBlockComponent-importable.legacy.********************.js 3.09 kB 0 B
dotcom-rendering/dist/DocumentBlockComponent-importable.modern.********************.js 2.99 kB 0 B
dotcom-rendering/dist/dynamicImport.legacy.********************.js 2.07 kB 0 B
dotcom-rendering/dist/dynamicImport.modern.********************.js 2 kB 0 B
dotcom-rendering/dist/EditionDropdown-importable.legacy.********************.js 4.14 kB 0 B
dotcom-rendering/dist/EditionDropdown-importable.modern.********************.js 4.1 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.legacy.********************.js 3.44 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.modern.********************.js 3.34 kB 0 B
dotcom-rendering/dist/embedIframe.legacy.********************.js 810 B 0 B
dotcom-rendering/dist/embedIframe.modern.********************.js 766 B 0 B
dotcom-rendering/dist/EnhancePinnedPost-importable.legacy.********************.js 6.82 kB 0 B
dotcom-rendering/dist/EnhancePinnedPost-importable.modern.********************.js 6.25 kB 0 B
dotcom-rendering/dist/FetchCommentCounts-importable.legacy.********************.js 1.78 kB 0 B
dotcom-rendering/dist/FetchCommentCounts-importable.modern.********************.js 1.73 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.legacy.********************.js 2.23 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.modern.********************.js 2.24 kB 0 B
dotcom-rendering/dist/FilterButton-importable.legacy.********************.js 2.74 kB 0 B
dotcom-rendering/dist/FilterButton-importable.modern.********************.js 2.64 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.legacy.********************.js 3.89 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.modern.********************.js 3.83 kB 0 B
dotcom-rendering/dist/FocusStyles-importable.legacy.********************.js 4.77 kB 0 B
dotcom-rendering/dist/FocusStyles-importable.modern.********************.js 4.71 kB 0 B
dotcom-rendering/dist/ga.legacy.********************.js 2.9 kB 0 B
dotcom-rendering/dist/ga.modern.********************.js 2.84 kB 0 B
dotcom-rendering/dist/GetCricketScoreboard-importable.legacy.********************.js 4.19 kB 0 B
dotcom-rendering/dist/GetCricketScoreboard-importable.modern.********************.js 4.01 kB 0 B
dotcom-rendering/dist/GetMatchNav-importable.legacy.********************.js 7.49 kB 0 B
dotcom-rendering/dist/GetMatchNav-importable.modern.********************.js 7.37 kB 0 B
dotcom-rendering/dist/GetMatchStats-importable.legacy.********************.js 7.13 kB 0 B
dotcom-rendering/dist/GetMatchStats-importable.modern.********************.js 6.36 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.legacy.********************.js 3.24 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.modern.********************.js 3.08 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.js 10.3 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.legacy.********************.js 11.4 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.modern.********************.js 11.3 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.js 9.4 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.legacy.********************.js 9.36 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.modern.********************.js 9.28 kB 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.legacy.********************.js 275 B 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.modern.********************.js 269 B 0 B
dotcom-rendering/dist/initDiscussion.legacy.********************.js 11.5 kB 0 B
dotcom-rendering/dist/initDiscussion.modern.********************.js 11.1 kB 0 B
dotcom-rendering/dist/InstagramBlockComponent-importable.legacy.********************.js 3.09 kB 0 B
dotcom-rendering/dist/InstagramBlockComponent-importable.modern.********************.js 3 kB 0 B
dotcom-rendering/dist/InteractiveBlockComponent-importable.legacy.********************.js 4.43 kB 0 B
dotcom-rendering/dist/InteractiveBlockComponent-importable.modern.********************.js 4.27 kB 0 B
dotcom-rendering/dist/islands.legacy.********************.js 12.2 kB 0 B
dotcom-rendering/dist/islands.modern.********************.js 11.3 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.legacy.********************.js 3.01 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.modern.********************.js 2.91 kB 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.legacy.********************.js 282 B 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.modern.********************.js 275 B 0 B
dotcom-rendering/dist/LabsHeader-importable.legacy.********************.js 6.69 kB 0 B
dotcom-rendering/dist/LabsHeader-importable.modern.********************.js 6.57 kB 0 B
dotcom-rendering/dist/Links-importable.legacy.********************.js 7.39 kB 0 B
dotcom-rendering/dist/Links-importable.modern.********************.js 6.33 kB 0 B
dotcom-rendering/dist/LiveBlogEpic-importable.legacy.********************.js 6.9 kB 0 B
dotcom-rendering/dist/LiveBlogEpic-importable.modern.********************.js 6.22 kB 0 B
dotcom-rendering/dist/Liveness-importable.legacy.********************.js 3.65 kB 0 B
dotcom-rendering/dist/Liveness-importable.modern.********************.js 3.59 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.legacy.********************.js 5.34 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.modern.********************.js 5.12 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.legacy.********************.js 7.92 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.modern.********************.js 7.76 kB 0 B
dotcom-rendering/dist/MostViewedRightWrapper-importable.legacy.********************.js 4.95 kB 0 B
dotcom-rendering/dist/MostViewedRightWrapper-importable.modern.********************.js 6.99 kB 0 B
dotcom-rendering/dist/newsletterEmbedIframe.legacy.********************.js 975 B 0 B
dotcom-rendering/dist/newsletterEmbedIframe.modern.********************.js 935 B 0 B
dotcom-rendering/dist/OnwardsUpper-importable.legacy.********************.js 7.06 kB 0 B
dotcom-rendering/dist/OnwardsUpper-importable.modern.********************.js 6.86 kB 0 B
dotcom-rendering/dist/ophan.legacy.********************.js 7.86 kB 0 B
dotcom-rendering/dist/ophan.modern.********************.js 7.25 kB 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.legacy.********************.js 283 B 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.modern.********************.js 277 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.legacy.********************.js 274 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.modern.********************.js 269 B 0 B
dotcom-rendering/dist/PulsingDot-importable.legacy.********************.js 1.76 kB 0 B
dotcom-rendering/dist/PulsingDot-importable.modern.********************.js 1.66 kB 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.legacy.********************.js 274 B 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.modern.********************.js 268 B 0 B
dotcom-rendering/dist/ReaderRevenueDev-importable.legacy.********************.js 4.6 kB 0 B
dotcom-rendering/dist/ReaderRevenueDev-importable.modern.********************.js 4.59 kB 0 B
dotcom-rendering/dist/readerRevenueDevUtils.js 2.33 kB 0 B
dotcom-rendering/dist/readerRevenueDevUtils.legacy.********************.js 4.94 kB 0 B
dotcom-rendering/dist/readerRevenueDevUtils.modern.********************.js 3.88 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.legacy.********************.js 3.34 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.modern.********************.js 5.88 kB 0 B
dotcom-rendering/dist/relativeTime.legacy.********************.js 1.35 kB 0 B
dotcom-rendering/dist/relativeTime.modern.********************.js 1.31 kB 0 B
dotcom-rendering/dist/RichLinkComponent-importable.legacy.********************.js 5.86 kB 0 B
dotcom-rendering/dist/RichLinkComponent-importable.modern.********************.js 5.74 kB 0 B
dotcom-rendering/dist/SecureSignupIframe-importable.modern.********************.js 8.43 kB 0 B
dotcom-rendering/dist/sentry.legacy.********************.js 766 B 0 B
dotcom-rendering/dist/sentry.modern.********************.js 766 B 0 B
dotcom-rendering/dist/sentryLoader.modern.********************.js 10.2 kB 0 B
dotcom-rendering/dist/SetABTests-importable.legacy.********************.js 2.98 kB 0 B
dotcom-rendering/dist/SetABTests-importable.modern.********************.js 4.33 kB 0 B
dotcom-rendering/dist/ShareCount-importable.legacy.********************.js 3.7 kB 0 B
dotcom-rendering/dist/ShareCount-importable.modern.********************.js 3.6 kB 0 B
dotcom-rendering/dist/shimport.legacy.********************.js 2.79 kB 0 B
dotcom-rendering/dist/shimport.modern.********************.js 2.79 kB 0 B
dotcom-rendering/dist/ShowHideContainers-importable.legacy.********************.js 761 B 0 B
dotcom-rendering/dist/ShowHideContainers-importable.modern.********************.js 732 B 0 B
dotcom-rendering/dist/SignInGateMain.js 2.87 kB 0 B
dotcom-rendering/dist/SignInGateMain.legacy.********************.js 4.56 kB 0 B
dotcom-rendering/dist/SignInGateMain.modern.********************.js 4.48 kB 0 B
dotcom-rendering/dist/SignInGateSelector-importable.legacy.********************.js 3.32 kB -1 B (0%)
dotcom-rendering/dist/SignInGateSelector-importable.modern.********************.js 4.98 kB 0 B
dotcom-rendering/dist/SlotBodyEnd-importable.legacy.********************.js 2.94 kB +3 B (0%)
dotcom-rendering/dist/SlotBodyEnd-importable.modern.********************.js 2.31 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.legacy.********************.js 5.26 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.modern.********************.js 5.04 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.legacy.********************.js 5.97 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.modern.********************.js 5.08 kB 0 B
dotcom-rendering/dist/SubNav-importable.legacy.********************.js 3.38 kB 0 B
dotcom-rendering/dist/SubNav-importable.modern.********************.js 3.27 kB 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.legacy.********************.js 275 B 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.modern.********************.js 269 B 0 B
dotcom-rendering/dist/TopicFilterBank-importable.legacy.********************.js 3.83 kB 0 B
dotcom-rendering/dist/TopicFilterBank-importable.modern.********************.js 3.73 kB 0 B
dotcom-rendering/dist/TopRightAdSlot-importable.modern.********************.js 4.11 kB 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.legacy.********************.js 1.79 kB 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.modern.********************.js 1.81 kB 0 B
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.legacy.********************.js 3.1 kB 0 B
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.modern.********************.js 3.02 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.legacy.********************.js 5.35 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.modern.********************.js 5.13 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.legacy.********************.js 2.91 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.modern.********************.js 2.81 kB 0 B
dotcom-rendering/dist/YoutubeBlockComponent-importable.legacy.********************.js 6.65 kB +2 B (0%)
dotcom-rendering/dist/YoutubeBlockComponent-importable.modern.********************.js 6.36 kB 0 B

compressed-size-action

@github-actions
Copy link

github-actions bot commented Sep 27, 2022

⚡️ Lighthouse report for the changes in this PR

Lighthouse tested 2 URLs

⚠️ Budget exceeded for 2 of 10 audits.

Report for Article

tested url https://www.theguardian.com/commentisfree/2020/feb/08/hungary-now-for-the-new-right-what-venezuela-once-was-for-the-left

Category Status Expected Actual
First Contentful Paint 1500 1183
Largest Contentful Paint 3000 1688
Time to Interactive 3500 2113
Cumulative Layout Shift ⚠️ 0.002 0.005821
accessibility 0.97 0.980000

Report for Front

tested url https://www.theguardian.com/uk

Category Status Expected Actual
First Contentful Paint 1500 1276
Largest Contentful Paint 3000 2330
Time to Interactive 3500 2293
Cumulative Layout Shift 0.002 0.001394
accessibility ⚠️ 0.97 0.950000

@mxdvl mxdvl requested a review from OllysCoding September 27, 2022 13:56
imageUrl?: string;
avatarUrl?: string;
}): { type: CardImageType; src: string } | undefined => {
if (avatarUrl) return { type: 'avatar', src: avatarUrl };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This logic looks to be wrong? The previous lines:

if (imageUrl && avatarUrl) {
	imageType = 'avatar';
}

So this should be

if (avatarUrl && imageUrl) return { type: 'avatar', src: avatarUrl };

That said I don't think I fully understand why this logic is the way it is

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not figure it out either, and this causes no visual difference, so tempted to simplify it like so.

If we want to capture a missing imageUrl and a set avatarUrl, we should have a story against it.

Copy link
Contributor

@ioannakok ioannakok Sep 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree the previous logic is a bit weird and I prefer the new version. I'll leave this up to the two of you. On my side, I'm happy with this PR so I have approved.

imagePosition: ImagePositionType,
imagePositionOnMobile: ImagePositionType,
imagePosition?: ImagePositionType,
imagePositionOnMobile?: ImagePositionType,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand why these two are changing to optional. In the Props types they remain non-optional: https://github.com/guardian/dotcom-rendering/blob/main/dotcom-rendering/src/web/components/Card/components/CardLayout.tsx#L7-L8

And in Card.tsx above I see this:
image

Copy link
Contributor Author

@mxdvl mxdvl Sep 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, I have now fixed this in b27392f

Co-authored-by: Max Duval <max.duval@guardian.co.uk>
Copy link
Contributor

@ioannakok ioannakok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@mxdvl mxdvl merged commit 07066a8 into main Oct 3, 2022
@mxdvl mxdvl deleted the mxdvl/card-refactor branch October 3, 2022 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants