From decb0ce25e05d3b710c5fad6e7ed63566caf3915 Mon Sep 17 00:00:00 2001 From: balachandarg-tw Date: Tue, 30 Sep 2025 13:44:05 +0530 Subject: [PATCH] [INJIMOB-956]: [Release] Update swift pacakge for VcRenderer (#2092) * [INJIMOB-956]: Support SVG list (#2090) Signed-off-by: balachandarg-tw * [INJIMOB-956] chore: update vc-renderer swift package version Signed-off-by: KiruthikaJeyashankar Co-authored-by: balachandarg-tw --------- Signed-off-by: balachandarg-tw Signed-off-by: KiruthikaJeyashankar Co-authored-by: KiruthikaJeyashankar --- .talismanrc | 2 +- components/VC/Views/VCDetailView.tsx | 111 +++++++++++------- .../xcshareddata/swiftpm/Package.resolved | 11 +- 3 files changed, 78 insertions(+), 46 deletions(-) diff --git a/.talismanrc b/.talismanrc index c0a66b7e..5a7817f9 100644 --- a/.talismanrc +++ b/.talismanrc @@ -409,5 +409,5 @@ fileignoreconfig: - filename: shared/vcRenderer/VcRenderer.ts checksum: 02f7d58fb149ecd3f10dd0bdfb6e85c4b3ae41d29a40d192056ffec0367b53c6 - filename: components/VC/Views/VCDetailView.tsx - checksum: 28537e64ff03c0bf9580d02fda145b49181a073c3df3f792674275a62f1e5667 + checksum: 890c216a5632ac77b938f2f58f2123a669ea45b933a41931b8e7324e315f2d50 version: "1.0" diff --git a/components/VC/Views/VCDetailView.tsx b/components/VC/Views/VCDetailView.tsx index 30c8e9ca..1843d1c4 100644 --- a/components/VC/Views/VCDetailView.tsx +++ b/components/VC/Views/VCDetailView.tsx @@ -4,6 +4,7 @@ import Icon from 'react-native-vector-icons/FontAwesome'; import Feather from 'react-native-vector-icons/Feather'; import { Dimensions, + FlatList, Image, ImageBackground, ImageBackgroundProps, @@ -55,31 +56,9 @@ export const VCDetailView: React.FC = ( const verifiableCredential = props.credential; const wellknownDisplayProperty = new Display(props.wellknown); - const [svgAspectRatio, setSvgAspectRatio] = useState(null); - const {width: deviceWidth} = Dimensions.get('window'); - const targetHeight = svgAspectRatio - ? deviceWidth * svgAspectRatio - : deviceWidth * 0.7; - - const svgTemplate = - Array.isArray(props.svgTemplate) && props.svgTemplate.length > 0 - ? props.svgTemplate[0] - : null; - - useEffect(() => { - if (svgTemplate) { - const match = svgTemplate.match(/viewBox="0 0 (\d+) (\d+)"/); - if (match) { - const [, w, h] = match.map(Number); - setSvgAspectRatio(h / w); - } else { - setSvgAspectRatio(null); - } - } else { - setSvgAspectRatio(null); - } - }, [svgTemplate]); + const CARD_WIDTH = deviceWidth * 0.8; + const CARD_SPACING = 16; const shouldShowHrLine = verifiableCredential => { let availableFieldNames: string[] = []; @@ -134,26 +113,70 @@ export const VCDetailView: React.FC = ( return ( <> - {svgTemplate ? ( + {Array.isArray(props.svgTemplate) && props.svgTemplate.length > 0 ? ( - - - - {svgTemplate?.includes(QR_IMAGE_ID) && ( -