diff --git a/Packages/MatchCore/Sources/AppLogic/AppLogic.swift b/Packages/MatchCore/Sources/AppLogic/AppLogic.swift index 80a80a69..c2736398 100644 --- a/Packages/MatchCore/Sources/AppLogic/AppLogic.swift +++ b/Packages/MatchCore/Sources/AppLogic/AppLogic.swift @@ -258,14 +258,21 @@ public struct AppLogic { @Reducer public struct Destination { public enum State: Equatable { + case alert(AlertState) case receivedLike(ReceivedLikeRouterLogic.State = .loading) } public enum Action { + case alert(Alert) case receivedLike(ReceivedLikeRouterLogic.Action) + + public enum ConfirmationDialog: Equatable { + case confirm + } } public var body: some Reducer { + Scope(state: \.alert, action: \.alert) {} Scope(state: \.receivedLike, action: \.receivedLike, child: ReceivedLikeRouterLogic.init) } } diff --git a/Packages/MatchCore/Sources/AppLogic/AuthLogic.swift b/Packages/MatchCore/Sources/AppLogic/AuthLogic.swift index 0ad1ca1a..09f96622 100644 --- a/Packages/MatchCore/Sources/AppLogic/AuthLogic.swift +++ b/Packages/MatchCore/Sources/AppLogic/AuthLogic.swift @@ -53,6 +53,11 @@ public struct AuthLogic { case let .signInAnonymouslyResponse(.failure(error)): crashlytics.record(error: error) + state.destination = .alert( + AlertState { + TextState(error.localizedDescription) + } + ) state.child = .networkError() return .none @@ -69,6 +74,11 @@ public struct AuthLogic { case let .productsResponse(.failure(error)): crashlytics.record(error: error) + state.destination = .alert( + AlertState { + TextState(error.localizedDescription) + } + ) let countryCode = locale.region?.identifier return .run { send in @@ -96,6 +106,11 @@ public struct AuthLogic { case let .createUserResponse(.failure(error)): crashlytics.record(error: error) + state.destination = .alert( + AlertState { + TextState(error.localizedDescription) + } + ) state.child = .networkError() return .none diff --git a/Packages/MatchCore/Sources/AppLogic/ConfigGlobalLogic.swift b/Packages/MatchCore/Sources/AppLogic/ConfigGlobalLogic.swift index 6b2256e4..eacf1525 100644 --- a/Packages/MatchCore/Sources/AppLogic/ConfigGlobalLogic.swift +++ b/Packages/MatchCore/Sources/AppLogic/ConfigGlobalLogic.swift @@ -46,6 +46,11 @@ public struct ConfigGlobalLogic { case let .configResponse(.failure(error)): crashlytics.record(error: error) + state.destination = .alert( + AlertState { + TextState(error.localizedDescription) + } + ) state.account.isForceUpdate = .success(false) state.account.isMaintenance = .success(false)