From 08282a87b6810ea3a4be2590548afea468829045 Mon Sep 17 00:00:00 2001 From: Braxton Ward Date: Wed, 15 Oct 2025 17:16:41 -0600 Subject: [PATCH 1/3] chore: update iOS to 3.22.0 --- atomicfi-transact-react-native.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/atomicfi-transact-react-native.podspec b/atomicfi-transact-react-native.podspec index 4e64dec..ea0e84a 100644 --- a/atomicfi-transact-react-native.podspec +++ b/atomicfi-transact-react-native.podspec @@ -20,13 +20,13 @@ Pod::Spec.new do |s| # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. if respond_to?(:install_modules_dependencies, true) install_modules_dependencies(s) - s.dependency "AtomicSDK", "3.20.7" + s.dependency "AtomicSDK", "3.22.0" s.pod_target_xcconfig = { "DEFINES_MODULE" => "YES", } else s.dependency "React-Core" - s.dependency "AtomicSDK", "3.20.7" + s.dependency "AtomicSDK", "3.22.0" # Don't install the dependencies when we run `pod install` in the old architecture. if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then From aeb274a745c8f3b263fca96b9cf22e82c8dd8418 Mon Sep 17 00:00:00 2001 From: Braxton Ward Date: Wed, 15 Oct 2025 17:16:51 -0600 Subject: [PATCH 2/3] chore: update android to 3.12.0 --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 29dab4f..315935a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -38,7 +38,7 @@ def getExtOrIntegerDefault(name) { } // Update this value to the latest Android SDK version published on Maven -def transact_version = "3.11.9" +def transact_version = "3.12.0" android { namespace "com.atomicfi.transactreactnative" From 3fc1cc2415a82ffa66a480f95ff29af58ca5272f Mon Sep 17 00:00:00 2001 From: Braxton Ward Date: Thu, 16 Oct 2025 15:22:24 -0600 Subject: [PATCH 3/3] feat: add single switch deepLink option --- example/screens/TransactScreen.tsx | 68 +++++++++++++++++++++++++++++- ios/TransactReactNative.swift | 37 ++++++---------- src/index.tsx | 11 ++++- 3 files changed, 90 insertions(+), 26 deletions(-) diff --git a/example/screens/TransactScreen.tsx b/example/screens/TransactScreen.tsx index b4cafef..476e9a4 100644 --- a/example/screens/TransactScreen.tsx +++ b/example/screens/TransactScreen.tsx @@ -36,6 +36,9 @@ const TransactScreen: React.FC = () => { const [isLoading, setIsLoading] = useState(false); const [presentationStyleIOS, setPresentationStyleIOS] = useState(PresentationStyles.formSheet); + const [useDeeplink, setUseDeeplink] = useState(false); + const [deeplinkCompanyId, setDeeplinkCompanyId] = useState(''); + const [singleSwitch, setSingleSwitch] = useState(false); const products = [ { key: Product.DEPOSIT, label: 'Deposit' }, @@ -95,9 +98,14 @@ const TransactScreen: React.FC = () => { return; } + if (useDeeplink && !deeplinkCompanyId.trim()) { + Alert.alert('Error', 'Please enter a Company ID when using deeplink'); + return; + } + setIsLoading(true); - const config = { + const config: any = { publicToken: publicToken.trim(), scope: getScope(), tasks: [ @@ -107,6 +115,15 @@ const TransactScreen: React.FC = () => { ], }; + // Add deeplink configuration if enabled and company ID is provided + if (useDeeplink && deeplinkCompanyId.trim()) { + config.deeplink = { + step: 'login-company', + companyId: deeplinkCompanyId.trim(), + singleSwitch: singleSwitch, + }; + } + Atomic.transact({ config, environment: getEnvironment(), @@ -263,6 +280,55 @@ const TransactScreen: React.FC = () => { )} + + Deeplink Options (Optional) + + + Use Deeplink + + Off + + On + + + + {useDeeplink && ( + <> + + Company ID + + + + {selectedProduct === Product.SWITCH && ( + + Single Switch + + Off + + On + + + )} + + )} + +