var scrums: IdentifiedArrayOf<DailyScrum> var isPresentingNewScrumView = false var path = StackState<DetailFeature.State>() } enum Action: BindableAction { case newScrumButtonTapped case binding(BindingAction<State>) case path(StackAction<DetailFeature.State, DetailFeature.Action>) } var body: some ReducerOf<Self> { BindingReducer() Reduce { state, action in switch action { case .newScrumButtonTapped: state.isPresentingNewScrumView = true return .none case .binding: return .none case .path: return .none } } .forEach(\.path, action: \.path) { DetailFeature() } } } struct ScrumsView: View { @Bindable var store: StoreOf<ScrumsFeature> @Environment(\.scenePhase) private var scenePhase let saveAction: () -> Void var body: some View {
newScrum = DailyScrum.emptyScrum @Shared var scrums: IdentifiedArrayOf<DailyScrum> @Shared var isPresentingNewScrumView: Bool } enum Action: BindableAction { case cancelAddButtonTapped case confirmAddButtonTapped case binding(BindingAction<State>) } @Dependency(\.dismiss) var dismiss var body: some ReducerOf<Self> { BindingReducer() Reduce { state, action in switch action { case .cancelAddButtonTapped: return .none case .confirmAddButtonTapped: return .none case .binding: return .none } } } } struct NewScrumSheet: View { var body: some View { NavigationStack {