Tema
Configurando tema
O tema padrão segue o esquema de cores descrito a seguir
import Foundation
import SwiftUI
public struct TapOnPhoneTheme {
let stepMessages: [ApplicationEvent: String]
let stepViews: [ApplicationEvent: AnyView]
let textColor: Color
let loadingColor: Color
let gradientStops: [Gradient.Stop]
public init(
stepMessages: [ApplicationEvent : String] = [
.terminalActivationStarted: "Iniciando",
.authorizingPleaseWait: "Aguardando autorização",
.transactionAborted: "Operação cancelada",
.terminalActivationFinished: "Inicialização concluída",
.cardReadingFinished: "Leitura concluída",
.paymentProcessFinished: "Processamento concluído",
.holdCardSteady: "Processando",
.sessionActivationStarted: "Iniciando sessão",
.zoopActivationStarted: "Autenticando",
.zoopActivationSucceeded: "Autenticado",
.cardReadingStarted: "Processando",
.closeBuiltInScreen: "Processando",
.pinInputStarted: "Digite o PIN",
.pinInputFinished: "PIN confirmado"
],
stepViews: [ApplicationEvent : AnyView] = [:],
textColor: Color = .white,
loadingColor: Color = .white,
gradientStops: [Gradient.Stop] = [
.init(color: .black.opacity(0.8), location: 0.0),
.init(color: .black.opacity(0.75), location: 0.39),
.init(color: .black.opacity(0.65), location: 0.61),
.init(color: .black.opacity(0.35), location: 0.83),
.init(color: .black.opacity(0), location: 1.0),
]
) {
self.stepMessages = stepMessages
self.stepViews = stepViews
self.textColor = textColor
self.loadingColor = loadingColor
self.gradientStops = gradientStops
}
}
Configurações disponíveis
Parâmetro | Descrição |
---|---|
stepMessages | Mapa de texto -> Cada ApplicationEvent pode ter uma mensagem customizada atrelada |
stepViews | Mapa de Views -> Cada ApplicationEvent pode ter uma view atrelada, caso uma não seja disponibilizada ([:] ), usaremos um ProgressView |
textColor | Cor dos textos |
loadingColor | Cor da View de carregamento padrão |
gradientStops | Cor de fundo da tela. Ao configurar, caso queira uma cor sólida, basta só passar um Gradient.Stop no location 0.0. Assim, só será configurada uma única cor. |
Nota:
- O tema padrão foi feito nesse esquema de cores porque são as mesmas da tela proprietária de leitura de cartão da Apple, para uma transição fluída.
- A tela da Apple não é customizável.
Tela
