TCA way
The syntax convention for the feedback generator was re-implemented to follow TCA and secant wallet principles.
This commit is contained in:
parent
c8e54550fc
commit
b7fccb3c28
|
@ -7,20 +7,16 @@
|
|||
|
||||
import UIKit
|
||||
|
||||
protocol FeedbackGenerator {
|
||||
func generateFeedback()
|
||||
struct FeedbackGenerator {
|
||||
let generateFeedback: () -> Void
|
||||
}
|
||||
|
||||
/// use in case of testing or when real haptic feedback is not appropriate
|
||||
class SilentFeedbackGenerator: FeedbackGenerator {
|
||||
func generateFeedback() { }
|
||||
}
|
||||
extension FeedbackGenerator {
|
||||
static let haptic = FeedbackGenerator(
|
||||
generateFeedback: { UINotificationFeedbackGenerator().notificationOccurred(.error) }
|
||||
)
|
||||
|
||||
/// haptic feedback for the failures (when we want to amplify importance of the failure)
|
||||
class ImpactFeedbackGenerator: FeedbackGenerator {
|
||||
let generator = UINotificationFeedbackGenerator()
|
||||
|
||||
func generateFeedback() {
|
||||
generator.notificationOccurred(.error)
|
||||
}
|
||||
static let silent = FeedbackGenerator(
|
||||
generateFeedback: { }
|
||||
)
|
||||
}
|
||||
|
|
|
@ -53,14 +53,14 @@ extension BackupPhraseEnvironment {
|
|||
mainQueue: DispatchQueue.main.eraseToAnyScheduler(),
|
||||
newPhrase: { Effect(value: .init(words: RecoveryPhrase.placeholder.words)) },
|
||||
pasteboard: .test,
|
||||
feedbackGenerator: SilentFeedbackGenerator()
|
||||
feedbackGenerator: .silent
|
||||
)
|
||||
|
||||
static let live = Self(
|
||||
mainQueue: DispatchQueue.main.eraseToAnyScheduler(),
|
||||
newPhrase: { Effect(value: .init(words: RecoveryPhrase.placeholder.words)) },
|
||||
pasteboard: .live,
|
||||
feedbackGenerator: ImpactFeedbackGenerator()
|
||||
feedbackGenerator: .haptic
|
||||
)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue