From e6860aee911af9c84f130ac131719aa8a8e2b257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Fri, 16 Oct 2020 12:37:20 +0300 Subject: [PATCH 1/6] Bump iOS Zendesk SDK --- ios/RNZendesk/RNZendesk.swift | 9 +++++++-- react-native-zendesk.podspec | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ios/RNZendesk/RNZendesk.swift b/ios/RNZendesk/RNZendesk.swift index e83b0f4..401f2e2 100644 --- a/ios/RNZendesk/RNZendesk.swift +++ b/ios/RNZendesk/RNZendesk.swift @@ -8,7 +8,7 @@ import UIKit import Foundation -import ZendeskSDK +import SupportSDK import ZendeskCoreSDK import CommonUISDK @@ -64,7 +64,12 @@ class RNZendesk: RCTEventEmitter { func showHelpCenter(with options: [String: Any]) { DispatchQueue.main.async { let hcConfig = HelpCenterUiConfiguration() - hcConfig.hideContactSupport = (options["hideContactSupport"] as? Bool) ?? false + if let hideContactSupport = options["hideContactSupport"] as? Bool { + hcConfig.showContactOptions = !hideContactSupport + } else { + hcConfig.showContactOptions = true + } + let helpCenter = HelpCenterUi.buildHelpCenterOverviewUi(withConfigs: [hcConfig]) let nvc = UINavigationController(rootViewController: helpCenter) diff --git a/react-native-zendesk.podspec b/react-native-zendesk.podspec index b867d98..e70317c 100644 --- a/react-native-zendesk.podspec +++ b/react-native-zendesk.podspec @@ -17,5 +17,5 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.dependency "React" - s.dependency "ZendeskSDK", "~> 3.0.3" + s.dependency "ZendeskSupportSDK", "~> 5.0.0" end From cbd8fccc37e9754040b9a7f852741168cdece45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Fri, 16 Oct 2020 12:52:18 +0300 Subject: [PATCH 2/6] update sdk version --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index da48eaf..6f8fe5a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -25,5 +25,5 @@ repositories { dependencies { implementation "com.facebook.react:react-native:${safeExtGet("reactNative", "+")}" // from node_modules - implementation group: 'com.zendesk', name: 'support', version: '3.0.2' + implementation group: 'com.zendesk', name: 'support', version: '5.0.1' } \ No newline at end of file From a9add22820e3a979171fb24ea72bf53239bdfc2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Mon, 19 Oct 2020 12:09:02 +0300 Subject: [PATCH 3/6] Fix Zendesk SDK functions with new ones --- .../io/dcvz/rnzendesk/RNZendeskBridge.java | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java b/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java index 3053e9f..54e7fdc 100644 --- a/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java +++ b/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java @@ -5,16 +5,6 @@ import androidx.annotation.RequiresApi; -import zendesk.commonui.UiConfig; -import zendesk.core.Zendesk; -import zendesk.core.Identity; -import zendesk.core.JwtIdentity; -import zendesk.core.AnonymousIdentity; -import zendesk.support.Support; -import zendesk.support.guide.HelpCenterActivity; -import zendesk.support.request.RequestActivity; -import zendesk.support.requestlist.RequestListActivity; - import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReactApplicationContext; @@ -23,6 +13,16 @@ import java.util.ArrayList; import java.util.Locale; +import zendesk.configurations.Configuration; +import zendesk.core.AnonymousIdentity; +import zendesk.core.Identity; +import zendesk.core.JwtIdentity; +import zendesk.core.Zendesk; +import zendesk.support.Support; +import zendesk.support.guide.HelpCenterActivity; +import zendesk.support.request.RequestActivity; +import zendesk.support.requestlist.RequestListActivity; + public class RNZendeskBridge extends ReactContextBaseJavaModule { public RNZendeskBridge(ReactApplicationContext reactContext) { @@ -69,7 +69,7 @@ public void identifyAnonymous(String name, String email) { @ReactMethod public void showHelpCenter(ReadableMap options) { // Boolean hideContact = options.getBoolean("hideContactUs") || false; - UiConfig hcConfig = HelpCenterActivity.builder() + Configuration hcConfig = HelpCenterActivity.builder() .withContactUsButtonVisible(!(options.hasKey("hideContactSupport") && options.getBoolean("hideContactSupport"))) .config(); @@ -95,10 +95,7 @@ public void showNewTicket(ReadableMap options) { @ReactMethod public void showTicketList() { - Intent intent = RequestListActivity.builder() - .intent(getReactApplicationContext()); - - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - getReactApplicationContext().startActivity(intent); + RequestListActivity.builder() + .show(getReactApplicationContext()); } } From 0e021ebc2848979b25ba177ce2a7cb0080cd1c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Mon, 19 Oct 2020 13:07:34 +0300 Subject: [PATCH 4/6] Add tags prop to showHelpCenter for iOS --- ios/RNZendesk/RNZendesk.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ios/RNZendesk/RNZendesk.swift b/ios/RNZendesk/RNZendesk.swift index 401f2e2..9c41af7 100644 --- a/ios/RNZendesk/RNZendesk.swift +++ b/ios/RNZendesk/RNZendesk.swift @@ -64,13 +64,22 @@ class RNZendesk: RCTEventEmitter { func showHelpCenter(with options: [String: Any]) { DispatchQueue.main.async { let hcConfig = HelpCenterUiConfiguration() + let requestConfig = RequestUiConfiguration() + if let hideContactSupport = options["hideContactSupport"] as? Bool { hcConfig.showContactOptions = !hideContactSupport } else { hcConfig.showContactOptions = true } - - let helpCenter = HelpCenterUi.buildHelpCenterOverviewUi(withConfigs: [hcConfig]) + + if let subject = options["subject"] as? [String] { + requestConfig.subject = subject + } + + if let tags = options["tags"] as? [String] { + requestConfig.tags = tags + } + let helpCenter = HelpCenterUi.buildHelpCenterOverviewUi(withConfigs: [hcConfig,requestConfig]) let nvc = UINavigationController(rootViewController: helpCenter) UIApplication.shared.keyWindow?.rootViewController?.present(nvc, animated: true, completion: nil) From cdb64da7a5c91ced8a128197b5f0b0ba134467c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Mon, 19 Oct 2020 13:11:52 +0300 Subject: [PATCH 5/6] Fix subject --- ios/RNZendesk/RNZendesk.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/RNZendesk/RNZendesk.swift b/ios/RNZendesk/RNZendesk.swift index 9c41af7..b411a6f 100644 --- a/ios/RNZendesk/RNZendesk.swift +++ b/ios/RNZendesk/RNZendesk.swift @@ -72,7 +72,7 @@ class RNZendesk: RCTEventEmitter { hcConfig.showContactOptions = true } - if let subject = options["subject"] as? [String] { + if let subject = options["subject"] as? String { requestConfig.subject = subject } From cdeb3311e2d5a3dd1003da765a3103cdbdd730ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaan=20=C3=87emberta=C5=9F?= Date: Tue, 20 Oct 2020 09:15:35 +0300 Subject: [PATCH 6/6] Added tags to showHelpcenter --- .../src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java b/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java index 54e7fdc..44bde17 100644 --- a/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java +++ b/android/src/main/java/io/dcvz/rnzendesk/RNZendeskBridge.java @@ -68,13 +68,14 @@ public void identifyAnonymous(String name, String email) { @ReactMethod public void showHelpCenter(ReadableMap options) { -// Boolean hideContact = options.getBoolean("hideContactUs") || false; - Configuration hcConfig = HelpCenterActivity.builder() - .withContactUsButtonVisible(!(options.hasKey("hideContactSupport") && options.getBoolean("hideContactSupport"))) + ArrayList tags = options.getArray("tags").toArrayList(); + + Configuration hcConfig = RequestActivity.builder() + .withTags(tags) .config(); Intent intent = HelpCenterActivity.builder() - .withContactUsButtonVisible(true) + .withContactUsButtonVisible(!(options.hasKey("hideContactSupport") && options.getBoolean("hideContactSupport"))) .intent(getReactApplicationContext(), hcConfig); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);