From a7cbd095eb3162d8252ef95f69e7f3ef4cb02c0b Mon Sep 17 00:00:00 2001 From: Neelam Sharma Date: Thu, 13 Feb 2025 14:04:14 +0100 Subject: [PATCH] Removed unncessary code --- .../FormAccountIdentifierPickerItem.swift | 25 +++++++------- AdyenComponents/PayTo/PayToComponent.swift | 33 ++++++++++++------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/Adyen/UI/Form/Items/Value Pickers/Identifier Picker/FormAccountIdentifierPickerItem.swift b/Adyen/UI/Form/Items/Value Pickers/Identifier Picker/FormAccountIdentifierPickerItem.swift index b5f165efa2..ac2a07f45e 100644 --- a/Adyen/UI/Form/Items/Value Pickers/Identifier Picker/FormAccountIdentifierPickerItem.swift +++ b/Adyen/UI/Form/Items/Value Pickers/Identifier Picker/FormAccountIdentifierPickerItem.swift @@ -4,15 +4,9 @@ // This file is open source and available under the MIT license. See the LICENSE file for more info. // -@_spi(AdyenInternal) -public protocol AccountIdentifier: CustomStringConvertible, Equatable { - var identifier: String { get } - var title: String { get } -} - /// A wrapper struct to use as item in ``FormIdentifierPickerItem`` @_spi(AdyenInternal) -public struct FormIdentifierPickerElement: AccountIdentifier { +public struct FormIdentifierPickerElement: CustomStringConvertible, Equatable { public let identifier: String public let title: String @@ -30,14 +24,14 @@ public struct FormIdentifierPickerElement: AccountIdentifier { @_spi(AdyenInternal) public final class FormIdentifierPickerItem: BaseFormPickerItem { - override public init( - preselectedValue: BasePickerElement, - selectableValues: [BasePickerElement], + public init( + preselectedIdentifier: FormIdentifierPickerElement, + selectableIdentifiers: [FormIdentifierPickerElement], style: FormTextItemStyle ) { super.init( - preselectedValue: preselectedValue, - selectableValues: selectableValues, + preselectedValue: .init(identifier: preselectedIdentifier.identifier, element: preselectedIdentifier), + selectableValues: selectableIdentifiers.map { $0.toBaseFormPickerElement() }, style: style ) } @@ -46,3 +40,10 @@ public final class FormIdentifierPickerItem: BaseFormPickerItem BasePickerElement { + .init(identifier: identifier, element: self) + } +} diff --git a/AdyenComponents/PayTo/PayToComponent.swift b/AdyenComponents/PayTo/PayToComponent.swift index e4168b5ee7..757f182be3 100644 --- a/AdyenComponents/PayTo/PayToComponent.swift +++ b/AdyenComponents/PayTo/PayToComponent.swift @@ -9,7 +9,7 @@ import UIKit /// A component that provides PayTo flows for PayTo component. public final class PayToComponent: PaymentComponent, - PresentableComponent { + PresentableComponent { private enum ViewIdentifier { static let flowSelectionTitleLabelItem = "flowSelectionTitleLabel" @@ -20,12 +20,13 @@ public final class PayToComponent: PaymentComponent, static let lastNameInputItem = "lastNameTextfield" } - private enum AccountIdentifier: CustomStringConvertible, CaseIterable { + private enum AccountIdentifiers: CustomStringConvertible, CaseIterable { case phone case email case abn case organizationID + // TODO: Add translation public var description: String { switch self { case .phone: @@ -38,6 +39,20 @@ public final class PayToComponent: PaymentComponent, return "Organization ID" } } + + public var identifer: String { + switch self { + case .phone: + return "phone" + case .email: + return "email" + case .abn: + return "abn" + case .organizationID: + return "organizationID" + } + } + } /// Configuration for PayTo Component. @@ -153,19 +168,13 @@ public final class PayToComponent: PaymentComponent, /// The identifier picker item. internal lazy var identifierPickerItem: FormIdentifierPickerItem = { - let selectableValues = AccountIdentifier.allCases.map { account in - BasePickerElement( - identifier: account.description, - element: FormIdentifierPickerElement( - identifier: account.description, - title: account.description - ) - ) + let selectableValues = AccountIdentifiers.allCases.map { accountIdentifier in + FormIdentifierPickerElement(identifier: accountIdentifier.identifer, title: accountIdentifier.description) } let item = FormIdentifierPickerItem( - preselectedValue: selectableValues[0], - selectableValues: selectableValues, + preselectedIdentifier: selectableValues[0], + selectableIdentifiers: selectableValues, style: configuration.style.textField ) // TODO: Add translation