diff --git a/Features/CryAnalysis/Analysis/CryAnalysisView.swift b/Features/CryAnalysis/Analysis/CryAnalysisView.swift index afd0a376..448b363b 100644 --- a/Features/CryAnalysis/Analysis/CryAnalysisView.swift +++ b/Features/CryAnalysis/Analysis/CryAnalysisView.swift @@ -36,6 +36,5 @@ public struct CryAnalysisView: View { .frame(maxWidth: .infinity, maxHeight: .infinity) .background(Color.Semantic.screenBackground.ignoresSafeArea()) .task { await store.send(.view(.task)).finish() } - .toolbar(.hidden, for: .navigationBar, .tabBar) } } diff --git a/Features/CryAnalysis/Home/CryAnalysisHomeFeature.swift b/Features/CryAnalysis/Home/CryAnalysisHomeFeature.swift index 554e9ecc..47c22c5a 100644 --- a/Features/CryAnalysis/Home/CryAnalysisHomeFeature.swift +++ b/Features/CryAnalysis/Home/CryAnalysisHomeFeature.swift @@ -9,6 +9,7 @@ public struct CryAnalysisHomeFeature { public var baby: Baby public var path = StackState() @Presents public var alert: AlertState? + @Presents public var analysis: CryAnalysisFeature.State? public init(baby: Baby) { self.baby = baby @@ -35,6 +36,7 @@ public struct CryAnalysisHomeFeature { case path(StackAction) case alert(PresentationAction) + case analysis(PresentationAction) } @Dependency(\.analytics) var analytics @@ -60,7 +62,7 @@ public struct CryAnalysisHomeFeature { return .none case ._internal(.permissionResolved(true)): - state.path.append(.analysis(CryAnalysisFeature.State(baby: state.baby))) + state.analysis = CryAnalysisFeature.State(baby: state.baby) return .none case ._internal(.permissionResolved(false)): @@ -85,11 +87,14 @@ public struct CryAnalysisHomeFeature { _ = await openURL(url) } - case .alert, .path: + case .alert, .analysis, .path: return .none } } .ifLet(\.$alert, action: \.alert) + .ifLet(\.$analysis, action: \.analysis) { + CryAnalysisFeature() + } .forEach(\.path, action: \.path) } } @@ -97,7 +102,6 @@ public struct CryAnalysisHomeFeature { extension CryAnalysisHomeFeature { @Reducer public enum Path { - case analysis(CryAnalysisFeature) case recordList(CryRecordListFeature) } } diff --git a/Features/CryAnalysis/Home/CryAnalysisHomeView.swift b/Features/CryAnalysis/Home/CryAnalysisHomeView.swift index 6c736df8..3417dcc9 100644 --- a/Features/CryAnalysis/Home/CryAnalysisHomeView.swift +++ b/Features/CryAnalysis/Home/CryAnalysisHomeView.swift @@ -15,13 +15,14 @@ public struct CryAnalysisHomeView: View { introContent } destination: { childStore in switch childStore.case { - case let .analysis(store): - CryAnalysisView(store: store) case let .recordList(store): CryRecordListView(store: store) } } .alert($store.scope(state: \.alert, action: \.alert)) + .fullScreenCover(item: $store.scope(state: \.analysis, action: \.analysis)) { analysisStore in + CryAnalysisView(store: analysisStore) + } .task { store.send(.view(.task)) } }