-
Notifications
You must be signed in to change notification settings - Fork 2
/
SignUpFlow.swift
36 lines (28 loc) · 1.09 KB
/
SignUpFlow.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// Created by Guillem on 22/7/22.
//
import Foundation
import FlowKit
final class SignUpFlow {
static func present(in navigation: UINavigationController) {
let flowNavigation = UINavigationController()
startFlow(in: flowNavigation)
navigation.present(flowNavigation, animated: true)
}
static func startFlow(in navigation: UINavigationController) {
let flowData = try! LocalFlowLoader.loadFlow(flowName: "signUpFlowResponse", bundle: Bundle.main)
let flow = FlowKit<SignUpFlowDefinition>.init(flowData: flowData, featureStepFactory: SignUpStepFactory())
flow.start(on: navigation) { step in
print("Will present step \(step.id)")
} onErrorHandler: { error, navigation in
FlowErrorWireframe.push(on: navigation, error: error) { }
} onFinish: { output in
print("Flow output: \(output.rawData.description)")
navigation.dismiss(animated: true)
}
}
}
struct SignUpFlowDefinition: FlowDefinition {
typealias OUTPUT = FlowOutputEmptyDefinition
typealias STEP = Step
}