From 689f6a0a841757fb5e86be75af93824116cedaef Mon Sep 17 00:00:00 2001 From: "Situ Chandra Shil (via MelvinBot)" Date: Wed, 29 Apr 2026 20:09:28 +0000 Subject: [PATCH 1/2] Fix Plaid personal card showing generic art on details page Use PlaidCardFeedIcon with isLarge when a Plaid institution URL is available, matching the pattern already used in WorkspaceCompanyCardDetailsPage. Falls back to the existing ImageSVG for non-Plaid feeds. Co-authored-by: Situ Chandra Shil --- .../Wallet/PersonalCardDetailsPage.tsx | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx b/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx index 8931ee4a82db..04f5ccfb2347 100644 --- a/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx +++ b/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx @@ -7,6 +7,7 @@ import FormHelpMessage from '@components/FormHelpMessage'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ImageSVG from '@components/ImageSVG'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; +import PlaidCardFeedIcon from '@components/PlaidCardFeedIcon'; import ScreenWrapper from '@components/ScreenWrapper'; import ScrollView from '@components/ScrollView'; import {useCompanyCardFeedIcons} from '@hooks/useCompanyCardIcons'; @@ -17,7 +18,7 @@ import useOnyx from '@hooks/useOnyx'; import useThemeIllustrations from '@hooks/useThemeIllustrations'; import useThemeStyles from '@hooks/useThemeStyles'; import {isUsingStagingApi} from '@libs/ApiUtils'; -import {getCardFeedIcon, isCardConnectionBroken, isPersonalCard} from '@libs/CardUtils'; +import {getCardFeedIcon, getPlaidInstitutionIconUrl, isCardConnectionBroken, isPersonalCard} from '@libs/CardUtils'; import {getLatestErrorField} from '@libs/ErrorUtils'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; @@ -96,6 +97,8 @@ function PersonalCardDetailsPage({route}: PersonalCardDetailsPageProps) { ? format(getLocalDateFromDatetime(card.lastScrape), CONST.DATE.FNS_DATE_TIME_FORMAT_STRING) : translate('workspace.moreFeatures.companyCards.neverUpdated'); + const plaidUrl = getPlaidInstitutionIconUrl(cardBank as CompanyCardFeed); + const getCardIconSource = () => { return getCardFeedIcon(cardBank as CompanyCardFeed, illustrations, companyCardFeedIcons); }; @@ -121,13 +124,20 @@ function PersonalCardDetailsPage({route}: PersonalCardDetailsPageProps) { /> - + {plaidUrl ? ( + + ) : ( + + )} {isCardBroken && ( Date: Sun, 17 May 2026 20:31:56 +0000 Subject: [PATCH 2/2] Move plaidUrl below NotFoundPage early returns No need to compute plaidUrl when the page renders NotFoundPage. Co-authored-by: Situ Chandra Shil --- src/pages/settings/Wallet/PersonalCardDetailsPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx b/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx index 087f4f7c3c57..a517afdc5ebe 100644 --- a/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx +++ b/src/pages/settings/Wallet/PersonalCardDetailsPage.tsx @@ -129,8 +129,6 @@ function PersonalCardDetailsPage({route}: PersonalCardDetailsPageProps) { ? format(getLocalDateFromDatetime(card.lastScrape), CONST.DATE.FNS_DATE_TIME_FORMAT_STRING) : translate('workspace.moreFeatures.companyCards.neverUpdated'); - const plaidUrl = getPlaidInstitutionIconUrl(cardBank as CompanyCardFeed); - const getCardIconSource = () => { return getCardFeedIcon(cardBank as CompanyCardFeed, illustrations, companyCardFeedIcons); }; @@ -145,6 +143,8 @@ function PersonalCardDetailsPage({route}: PersonalCardDetailsPageProps) { return ; } + const plaidUrl = getPlaidInstitutionIconUrl(cardBank as CompanyCardFeed); + return (