From 82a88decafeafdc9178093ef53f187b005c062ef Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Fri, 17 Feb 2023 11:48:51 -0300 Subject: [PATCH 1/5] Update config to show Zendesk to paying users --- .../ViewRelated/Support/SupportConfiguration.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Support/SupportConfiguration.swift b/WordPress/Classes/ViewRelated/Support/SupportConfiguration.swift index 9b56e927cdba..523d9db4b005 100644 --- a/WordPress/Classes/ViewRelated/Support/SupportConfiguration.swift +++ b/WordPress/Classes/ViewRelated/Support/SupportConfiguration.swift @@ -4,16 +4,22 @@ enum SupportConfiguration { case zendesk case forum + private static func hasSiteWithPaidPlan() -> Bool { + let allBlogs = (try? BlogQuery().blogs(in: ContextManager.sharedInstance().mainContext)) ?? [] + return allBlogs.contains { $0.hasPaidPlan } + } + static func current( featureFlagStore: RemoteFeatureFlagStore = RemoteFeatureFlagStore(), isWordPress: Bool = AppConfiguration.isWordPress, - zendeskEnabled: Bool = ZendeskUtils.zendeskEnabled + zendeskEnabled: Bool = ZendeskUtils.zendeskEnabled, + hasPaidPlan: Bool = hasSiteWithPaidPlan() ) -> SupportConfiguration { guard zendeskEnabled else { return .forum } - if isWordPress && featureFlagStore.value(for: FeatureFlag.wordPressSupportForum) { + if isWordPress && !hasPaidPlan && featureFlagStore.value(for: FeatureFlag.wordPressSupportForum) { return .forum } else { return .zendesk From 08cbc7369b5f843e40566907ec29d7ff4e5f8b11 Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Fri, 17 Feb 2023 11:49:46 -0300 Subject: [PATCH 2/5] Update screen to show Zendesk to paying users --- .../Support/SupportTableViewController.swift | 118 ++++++------------ 1 file changed, 36 insertions(+), 82 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift b/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift index 14ec1aa330b7..2d20d10ade06 100644 --- a/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift +++ b/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift @@ -16,7 +16,6 @@ class SupportTableViewController: UITableViewController { private var tableHandler: ImmuTableViewHandler? private let userDefaults = UserPersistentStoreFactory.instance() - private let isForumShown = SupportConfiguration.current() == .forum /// This closure is called when this VC is about to be dismissed due to the user /// tapping the dismiss button. @@ -46,7 +45,7 @@ class SupportTableViewController: UITableViewController { WPAnalytics.track(.openedSupport) setupNavBar() setupTable() - if !isForumShown { + if SupportConfiguration.current() == .zendesk { checkForAutomatticEmail() } ZendeskUtils.sharedInstance.cacheUnlocalizedSitePlans() @@ -137,21 +136,34 @@ private extension SupportTableViewController { // MARK: - Table Model - func wordPressAppTableViewModel() -> ImmuTable { - - // Community Forums Section - var communityForumsSectionRows = [ImmuTableRow]() - communityForumsSectionRows.append(SupportForumRow(title: LocalizedText.wpForumPrompt, - action: nil, - accessibilityIdentifier: "visit-wordpress-forums-prompt")) - communityForumsSectionRows.append(SupportForumButtonRow(title: LocalizedText.visitWpForumsButton, - accessibilityHint: LocalizedText.visitWpForumsButtonAccessibilityHint, - action: visitForumsSelected(), - accessibilityIdentifier: "visit-wordpress-forums-button")) - - let forumsSection = ImmuTableSection(headerText: LocalizedText.wpForumsSectionHeader, - rows: communityForumsSectionRows, - footerText: nil) + func tableViewModel() -> ImmuTable { + + // Support section + let helpSection: ImmuTableSection? + switch SupportConfiguration.current() { + case .zendesk: + var rows = [ImmuTableRow]() + rows.append(HelpRow(title: LocalizedText.wpHelpCenter, action: helpCenterSelected(), accessibilityIdentifier: "help-center-link-button")) + rows.append(HelpRow(title: LocalizedText.contactUs, action: contactUsSelected(), accessibilityIdentifier: "contact-support-button")) + rows.append(HelpRow(title: LocalizedText.tickets, action: myTicketsSelected(), showIndicator: ZendeskUtils.showSupportNotificationIndicator, accessibilityIdentifier: "my-tickets-button")) + rows.append(SupportEmailRow(title: LocalizedText.contactEmail, + value: ZendeskUtils.userSupportEmail() ?? LocalizedText.emailNotSet, + accessibilityHint: LocalizedText.contactEmailAccessibilityHint, + action: supportEmailSelected(), + accessibilityIdentifier: "set-contact-email-button")) + helpSection = ImmuTableSection(headerText: LocalizedText.prioritySupportSectionHeader, rows: rows, footerText: nil) + case .forum: + var rows = [ImmuTableRow]() + rows.append(SupportForumRow(title: LocalizedText.wpForumPrompt, + action: nil, + accessibilityIdentifier: "visit-wordpress-forums-prompt")) + rows.append(SupportForumButtonRow(title: LocalizedText.visitWpForumsButton, + accessibilityHint: LocalizedText.visitWpForumsButtonAccessibilityHint, + action: visitForumsSelected(), + accessibilityIdentifier: "visit-wordpress-forums-button")) + + helpSection = ImmuTableSection(headerText: LocalizedText.wpForumsSectionHeader, rows: rows, footerText: nil) + } // Information Section var informationSection: ImmuTableSection? @@ -179,60 +191,6 @@ private extension SupportTableViewController { logOutSections = .init(headerText: LocalizedText.wpAccount, optionalRows: [logOutRow]) } - // Create and return table - let sections = [forumsSection, informationSection, logOutSections].compactMap { $0 } - return ImmuTable(sections: sections) - } - - func jetpackAppTableViewModel() -> ImmuTable { - - // Help Section - var helpSectionRows = [ImmuTableRow]() - helpSectionRows.append(HelpRow(title: LocalizedText.wpHelpCenter, action: helpCenterSelected(), accessibilityIdentifier: "help-center-link-button")) - - if ZendeskUtils.zendeskEnabled { - helpSectionRows.append(HelpRow(title: LocalizedText.contactUs, action: contactUsSelected(), accessibilityIdentifier: "contact-support-button")) - helpSectionRows.append(HelpRow(title: LocalizedText.tickets, action: myTicketsSelected(), showIndicator: ZendeskUtils.showSupportNotificationIndicator, accessibilityIdentifier: "my-tickets-button")) - helpSectionRows.append(SupportEmailRow(title: LocalizedText.contactEmail, - value: ZendeskUtils.userSupportEmail() ?? LocalizedText.emailNotSet, - accessibilityHint: LocalizedText.contactEmailAccessibilityHint, - action: supportEmailSelected(), - accessibilityIdentifier: "set-contact-email-button")) - } else { - helpSectionRows.append(HelpRow(title: LocalizedText.wpForums, action: contactUsSelected())) - } - - let helpSection = ImmuTableSection( - headerText: LocalizedText.prioritySupportSectionHeader, - rows: helpSectionRows, - footerText: nil) - - // Information Section - var informationSection: ImmuTableSection? - if configuration.showsLogsSection { - let versionRow = TextRow(title: LocalizedText.version, value: Bundle.main.shortVersionString()) - let logsRow = NavigationItemRow(title: LocalizedText.logs, action: activityLogsSelected(), accessibilityIdentifier: "activity-logs-button") - let switchRow = SwitchRow(title: LocalizedText.debug, - value: userDefaults.bool(forKey: UserDefaultsKeys.extraDebug), - onChange: extraDebugToggled()) - informationSection = ImmuTableSection( - headerText: LocalizedText.advancedSectionHeader, - rows: [versionRow, logsRow, switchRow], - footerText: LocalizedText.informationFooter - ) - } - - // Log out Section - var logOutSections: ImmuTableSection? - if configuration.showsLogOutButton { - let logOutRow = DestructiveButtonRow( - title: LocalizedText.logOutButtonTitle, - action: logOutTapped(), - accessibilityIdentifier: "" - ) - logOutSections = .init(headerText: LocalizedText.wpAccount, optionalRows: [logOutRow]) - } - // Create and return table let sections = [helpSection, informationSection, logOutSections].compactMap { $0 } return ImmuTable(sections: sections) @@ -243,7 +201,7 @@ private extension SupportTableViewController { } func reloadViewModel() { - tableHandler?.viewModel = isForumShown ? wordPressAppTableViewModel() : jetpackAppTableViewModel() + tableHandler?.viewModel = tableViewModel() } // MARK: - Row Handlers @@ -263,17 +221,13 @@ private extension SupportTableViewController { return { [weak self] row in guard let self = self else { return } self.tableView.deselectSelectedRowWithAnimation(true) - if SupportConfiguration.current() == .zendesk { - guard let controllerToShowFrom = self.controllerToShowFrom() else { - return - } - ZendeskUtils.sharedInstance.showNewRequestIfPossible(from: controllerToShowFrom, with: self.sourceTag) { [weak self] identityUpdated in - if identityUpdated { - self?.reloadViewModel() - } + guard let controllerToShowFrom = self.controllerToShowFrom() else { + return + } + ZendeskUtils.sharedInstance.showNewRequestIfPossible(from: controllerToShowFrom, with: self.sourceTag) { [weak self] identityUpdated in + if identityUpdated { + self?.reloadViewModel() } - } else { - self.launchForum(url: Constants.forumsURL) } } } From 5f2cbe058334b6f9d9958e996d47d169f61ef31f Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Fri, 17 Feb 2023 11:50:17 -0300 Subject: [PATCH 3/5] Update tests to show Zendesk to paying users --- .../Support/SupportConfigurationTests.swift | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/WordPress/WordPressTest/Support/SupportConfigurationTests.swift b/WordPress/WordPressTest/Support/SupportConfigurationTests.swift index cb9d8fe329ec..c965fa1760ec 100644 --- a/WordPress/WordPressTest/Support/SupportConfigurationTests.swift +++ b/WordPress/WordPressTest/Support/SupportConfigurationTests.swift @@ -8,41 +8,56 @@ final class SupportConfigurationTests: XCTestCase { XCTAssertEqual(configuration, .forum) } - func testSupportConfigurationWhenWordPressAndFeatureFlagEnabled() { + func testSupportConfigurationWhenWordPressWithFreePlanAndFeatureFlagEnabled() { let configuration = SupportConfiguration.current( featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: true), isWordPress: true, - zendeskEnabled: true + zendeskEnabled: true, + hasPaidPlan: false ) XCTAssertTrue(configuration == .forum) } - func testSupportConfigurationWhenWordPressAndFeatureFlagDisabled() { + func testSupportConfigurationWhenWordPressWithFreePlanAndFeatureFlagDisabled() { let configuration = SupportConfiguration.current( featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: false), isWordPress: true, - zendeskEnabled: true + zendeskEnabled: true, + hasPaidPlan: false ) XCTAssertTrue(configuration == .zendesk) } - func testSupportConfigurationWhenJetpackAndFeatureFlagEnabled() { + func testSupportConfigurationWhenWordPressWithPaidPlanAndFeatureFlagEnabled() { + let configuration = SupportConfiguration.current( + featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: true), + isWordPress: true, + zendeskEnabled: true, + hasPaidPlan: true + ) + + XCTAssertTrue(configuration == .zendesk) + } + + func testSupportConfigurationWhenJetpackWithFreePlanAndFeatureFlagEnabled() { let configuration = SupportConfiguration.current( featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: true), isWordPress: false, - zendeskEnabled: true + zendeskEnabled: true, + hasPaidPlan: false ) XCTAssertTrue(configuration == .zendesk) } - func testSupportConfigurationWhenJetpackAndFeatureFlagDisabled() { + func testSupportConfigurationWhenJetpackWithPaidPlanAndFeatureFlagEnabled() { let configuration = SupportConfiguration.current( - featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: false), + featureFlagStore: RemoteFeatureFlagStoreMock(isSupportForumEnabled: true), isWordPress: false, - zendeskEnabled: true + zendeskEnabled: true, + hasPaidPlan: true ) XCTAssertTrue(configuration == .zendesk) From 3ed02eec85b484a922b530db438b2e9772c916f2 Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Fri, 17 Feb 2023 17:02:48 -0300 Subject: [PATCH 4/5] Point to updated WordPressKit --- Podfile | 6 +++--- Podfile.lock | 15 ++++++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Podfile b/Podfile index cd67f39445f1..256743932527 100644 --- a/Podfile +++ b/Podfile @@ -47,10 +47,10 @@ def wordpress_ui end def wordpress_kit - pod 'WordPressKit', '~> 6.1.0-beta' + # pod 'WordPressKit', '~> 6.1.0-beta' # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', tag: '' - # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', branch: '' - # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', commit: '' + # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', branch: 'fix/plan-flag' + pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', commit: '48d969d1fd9164e51b33bd4dc390ad1807f45f89' # pod 'WordPressKit', path: '../WordPressKit-iOS' end diff --git a/Podfile.lock b/Podfile.lock index 59d5992924f4..e533cf182eec 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -511,7 +511,7 @@ PODS: - WordPressKit (~> 6.0-beta) - WordPressShared (~> 2.0-beta) - WordPressUI (~> 1.7-beta) - - WordPressKit (6.1.0-beta.1): + - WordPressKit (6.1.0-beta.2): - Alamofire (~> 4.8.0) - NSObject-SafeExpectations (~> 0.0.4) - UIDeviceIdentifier (~> 2.0) @@ -612,7 +612,7 @@ DEPENDENCIES: - SwiftLint (~> 0.50) - WordPress-Editor-iOS (~> 1.19.8) - WordPressAuthenticator (~> 5.1-beta) - - WordPressKit (~> 6.1.0-beta) + - WordPressKit (from `https://github.com/wordpress-mobile/WordPressKit-iOS.git`, commit `48d969d1fd9164e51b33bd4dc390ad1807f45f89`) - WordPressShared (~> 2.0-beta) - WordPressUI (~> 1.12.5) - WPMediaPicker (~> 1.8.7) @@ -623,7 +623,6 @@ DEPENDENCIES: SPEC REPOS: https://github.com/wordpress-mobile/cocoapods-specs.git: - WordPressAuthenticator - - WordPressKit - WordPressShared trunk: - Alamofire @@ -778,6 +777,9 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true :tag: v1.89.0 + WordPressKit: + :commit: 48d969d1fd9164e51b33bd4dc390ad1807f45f89 + :git: https://github.com/wordpress-mobile/WordPressKit-iOS.git Yoga: :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.89.0/third-party-podspecs/Yoga.podspec.json @@ -793,6 +795,9 @@ CHECKOUT OPTIONS: :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true :tag: v1.89.0 + WordPressKit: + :commit: 48d969d1fd9164e51b33bd4dc390ad1807f45f89 + :git: https://github.com/wordpress-mobile/WordPressKit-iOS.git SPEC CHECKSUMS: Alamofire: 3ec537f71edc9804815215393ae2b1a8ea33a844 @@ -881,7 +886,7 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: 7d11d598f14c82c727c08b56bd35fbeb7dafb504 WordPress-Editor-iOS: 9eb9f12f21a5209cb837908d81ffe1e31cb27345 WordPressAuthenticator: 0b13d0fc6488a9d6b2a48f4f841e41ce41f08f3b - WordPressKit: c44a1186285cf9bbd61c8e2c8ab323912d7de989 + WordPressKit: 7e422fc4b5f274c0925fb9f5408265364abe2609 WordPressShared: 8e59bc8cec256f54a7c4cc6c94911adc2a9a65d2 WordPressUI: c5be816f6c7b3392224ac21de9e521e89fa108ac WPMediaPicker: 0d45dfd7b3c5651c5236ffd48c1b0b2f60a2d5d2 @@ -896,6 +901,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba ZIPFoundation: ae5b4b813d216d3bf0a148773267fff14bd51d37 -PODFILE CHECKSUM: d851d81f272d28ad08e164edaec3601d41c0198f +PODFILE CHECKSUM: cbcc05904a09faed468f779758f1a480086841ff COCOAPODS: 1.11.2 From bd069be342a08c04117555602fb41becb49787b5 Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Fri, 17 Feb 2023 21:14:17 -0300 Subject: [PATCH 5/5] Updated to point to latest WordPressKit --- Podfile | 4 ++-- Podfile.lock | 15 +++++---------- .../Support/SupportTableViewController.swift | 7 +++---- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/Podfile b/Podfile index 256743932527..6777f4fb76bc 100644 --- a/Podfile +++ b/Podfile @@ -47,10 +47,10 @@ def wordpress_ui end def wordpress_kit - # pod 'WordPressKit', '~> 6.1.0-beta' + pod 'WordPressKit', '~> 6.1.0-beta' # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', tag: '' # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', branch: 'fix/plan-flag' - pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', commit: '48d969d1fd9164e51b33bd4dc390ad1807f45f89' + # pod 'WordPressKit', git: 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', commit: '' # pod 'WordPressKit', path: '../WordPressKit-iOS' end diff --git a/Podfile.lock b/Podfile.lock index e533cf182eec..2a79f697cfcf 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -511,7 +511,7 @@ PODS: - WordPressKit (~> 6.0-beta) - WordPressShared (~> 2.0-beta) - WordPressUI (~> 1.7-beta) - - WordPressKit (6.1.0-beta.2): + - WordPressKit (6.1.0-beta.3): - Alamofire (~> 4.8.0) - NSObject-SafeExpectations (~> 0.0.4) - UIDeviceIdentifier (~> 2.0) @@ -612,7 +612,7 @@ DEPENDENCIES: - SwiftLint (~> 0.50) - WordPress-Editor-iOS (~> 1.19.8) - WordPressAuthenticator (~> 5.1-beta) - - WordPressKit (from `https://github.com/wordpress-mobile/WordPressKit-iOS.git`, commit `48d969d1fd9164e51b33bd4dc390ad1807f45f89`) + - WordPressKit (~> 6.1.0-beta) - WordPressShared (~> 2.0-beta) - WordPressUI (~> 1.12.5) - WPMediaPicker (~> 1.8.7) @@ -623,6 +623,7 @@ DEPENDENCIES: SPEC REPOS: https://github.com/wordpress-mobile/cocoapods-specs.git: - WordPressAuthenticator + - WordPressKit - WordPressShared trunk: - Alamofire @@ -777,9 +778,6 @@ EXTERNAL SOURCES: :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true :tag: v1.89.0 - WordPressKit: - :commit: 48d969d1fd9164e51b33bd4dc390ad1807f45f89 - :git: https://github.com/wordpress-mobile/WordPressKit-iOS.git Yoga: :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/v1.89.0/third-party-podspecs/Yoga.podspec.json @@ -795,9 +793,6 @@ CHECKOUT OPTIONS: :git: https://github.com/wordpress-mobile/gutenberg-mobile.git :submodules: true :tag: v1.89.0 - WordPressKit: - :commit: 48d969d1fd9164e51b33bd4dc390ad1807f45f89 - :git: https://github.com/wordpress-mobile/WordPressKit-iOS.git SPEC CHECKSUMS: Alamofire: 3ec537f71edc9804815215393ae2b1a8ea33a844 @@ -886,7 +881,7 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: 7d11d598f14c82c727c08b56bd35fbeb7dafb504 WordPress-Editor-iOS: 9eb9f12f21a5209cb837908d81ffe1e31cb27345 WordPressAuthenticator: 0b13d0fc6488a9d6b2a48f4f841e41ce41f08f3b - WordPressKit: 7e422fc4b5f274c0925fb9f5408265364abe2609 + WordPressKit: 1addcb4df350194b3e3fd2239afaac040f29293c WordPressShared: 8e59bc8cec256f54a7c4cc6c94911adc2a9a65d2 WordPressUI: c5be816f6c7b3392224ac21de9e521e89fa108ac WPMediaPicker: 0d45dfd7b3c5651c5236ffd48c1b0b2f60a2d5d2 @@ -901,6 +896,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba ZIPFoundation: ae5b4b813d216d3bf0a148773267fff14bd51d37 -PODFILE CHECKSUM: cbcc05904a09faed468f779758f1a480086841ff +PODFILE CHECKSUM: 4ffd4693c4a029b5d79ba5f171448834181b3d2a COCOAPODS: 1.11.2 diff --git a/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift b/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift index 2d20d10ade06..a78da25c74de 100644 --- a/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift +++ b/WordPress/Classes/ViewRelated/Support/SupportTableViewController.swift @@ -136,11 +136,11 @@ private extension SupportTableViewController { // MARK: - Table Model - func tableViewModel() -> ImmuTable { + func tableViewModel(supportConfiguration: SupportConfiguration) -> ImmuTable { // Support section let helpSection: ImmuTableSection? - switch SupportConfiguration.current() { + switch supportConfiguration { case .zendesk: var rows = [ImmuTableRow]() rows.append(HelpRow(title: LocalizedText.wpHelpCenter, action: helpCenterSelected(), accessibilityIdentifier: "help-center-link-button")) @@ -161,7 +161,6 @@ private extension SupportTableViewController { accessibilityHint: LocalizedText.visitWpForumsButtonAccessibilityHint, action: visitForumsSelected(), accessibilityIdentifier: "visit-wordpress-forums-button")) - helpSection = ImmuTableSection(headerText: LocalizedText.wpForumsSectionHeader, rows: rows, footerText: nil) } @@ -201,7 +200,7 @@ private extension SupportTableViewController { } func reloadViewModel() { - tableHandler?.viewModel = tableViewModel() + tableHandler?.viewModel = tableViewModel(supportConfiguration: SupportConfiguration.current()) } // MARK: - Row Handlers