mirror of
https://github.com/pointfreeco/swift-composable-architecture.git
synced 2025-12-20 09:11:33 +01:00
47 lines
939 B
Swift
47 lines
939 B
Swift
import ComposableArchitecture
|
|
import SwiftUI
|
|
|
|
@Reducer
|
|
struct SyncUpDetail {
|
|
@ObservableState
|
|
struct State: Equatable {
|
|
@Presents var editSyncUp: SyncUpForm.State?
|
|
@Shared var syncUp: SyncUp
|
|
}
|
|
|
|
enum Action {
|
|
case cancelEditButtonTapped
|
|
case deleteButtonTapped
|
|
case doneEditingButtonTapped
|
|
case editButtonTapped
|
|
case editSyncUp(PresentationAction<SyncUpForm.Action>)
|
|
}
|
|
|
|
var body: some ReducerOf<Self> {
|
|
Reduce { state, action in
|
|
switch action {
|
|
case .cancelEditButtonTapped:
|
|
state.editSyncUp = nil
|
|
return .none
|
|
|
|
case .deleteButtonTapped:
|
|
return .none
|
|
|
|
case .editButtonTapped:
|
|
state.editSyncUp = SyncUpForm.State(syncUp: state.syncUp)
|
|
return .none
|
|
|
|
case .editSyncUp:
|
|
return .none
|
|
}
|
|
}
|
|
.ifLet(\.$editSyncUp, action: \.editSyncUp) {
|
|
SyncUpForm()
|
|
}
|
|
}
|
|
}
|
|
|
|
struct SyncUpDetailView: View {
|
|
// ...
|
|
}
|