Skip to content

Commit 150364f

Browse files
committed
fix 로그인 로딩 상태 유지
1 parent f6247e5 commit 150364f

4 files changed

Lines changed: 16 additions & 15 deletions

File tree

Application/DevLogApp/Sources/App/DevLogApp.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ struct DevLogApp: App {
3030
networkConnectivityUseCase: container.resolve(ObserveNetworkConnectivityUseCase.self),
3131
systemThemeUseCase: container.resolve(ObserveSystemThemeUseCase.self),
3232
trackAnalyticsEventUseCase: container.resolve(TrackAnalyticsEventUseCase.self),
33-
signInUseCase: container.resolve(SignInUseCase.self),
3433
widgetURLTab: { MainTab(widgetURL: $0) },
3534
windowEvent: windowEvent,
3635
pushNotificationTodoIdPublisher: PushNotificationRoute.shared.observe(),

Application/DevLogPresentation/Sources/Login/LoginFeature.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ struct LoginFeature {
2323
enum Action: BindableAction {
2424
case binding(BindingAction<State>)
2525
case tapSignInButton(AuthProvider)
26-
case signInSucceeded
2726
case signInFailed(AlertType)
2827
case signInCancelled
2928
}
@@ -50,7 +49,6 @@ struct LoginFeature {
5049
return .run { [signInUseCase] send in
5150
do {
5251
try await signInUseCase.execute(provider)
53-
await send(.signInSucceeded)
5452
} catch {
5553
if error.isSocialLoginCancelled {
5654
await send(.signInCancelled)
@@ -59,7 +57,7 @@ struct LoginFeature {
5957
await send(.signInFailed(alertType(for: error)))
6058
}
6159
}
62-
case .signInSucceeded, .signInCancelled:
60+
case .signInCancelled:
6361
state.isLoading = false
6462
case .signInFailed(let alertType):
6563
state.isLoading = false

Application/DevLogPresentation/Sources/Login/LoginView.swift

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,26 @@
77

88
import SwiftUI
99
import ComposableArchitecture
10+
import DevLogDomain
1011

1112
struct LoginView: View {
1213
@Environment(\.colorScheme) var colorScheme
1314
@Environment(\.sceneWidth) var sceneWidth
14-
@Bindable var store: StoreOf<LoginFeature>
15+
@State private var store: StoreOf<LoginFeature>
16+
17+
init(signInUseCase: SignInUseCase) {
18+
self._store = State(initialValue: Store(
19+
initialState: LoginFeature.State()
20+
) {
21+
LoginFeature()
22+
} withDependencies: {
23+
$0.signInUseCase = .live(signInUseCase)
24+
})
25+
}
1526

1627
var body: some View {
28+
@Bindable var store = store
29+
1730
ZStack {
1831
VStack {
1932
Spacer()

Application/DevLogPresentation/Sources/Root/RootView.swift

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public struct RootView: View {
1616
@State var viewModel: RootViewModel
1717
@State private var selectedRoute: Route?
1818
@State private var selectedMainTab = MainTab.home
19-
private let loginStore: StoreOf<LoginFeature>
2019
private let widgetURLTab: (URL) -> MainTab?
2120
private let windowEvent: TodoEditorWindowEvent
2221
private let pushNotificationTodoIdPublisher: AnyPublisher<String, Never>
@@ -27,7 +26,6 @@ public struct RootView: View {
2726
networkConnectivityUseCase: ObserveNetworkConnectivityUseCase,
2827
systemThemeUseCase: ObserveSystemThemeUseCase,
2928
trackAnalyticsEventUseCase: TrackAnalyticsEventUseCase,
30-
signInUseCase: SignInUseCase,
3129
widgetURLTab: @escaping (URL) -> MainTab?,
3230
windowEvent: TodoEditorWindowEvent,
3331
pushNotificationTodoIdPublisher: AnyPublisher<String, Never>,
@@ -39,13 +37,6 @@ public struct RootView: View {
3937
systemThemeUseCase: systemThemeUseCase,
4038
trackAnalyticsEventUseCase: trackAnalyticsEventUseCase
4139
))
42-
self.loginStore = Store(
43-
initialState: LoginFeature.State()
44-
) {
45-
LoginFeature()
46-
} withDependencies: {
47-
$0.signInUseCase = .live(signInUseCase)
48-
}
4940
self.widgetURLTab = widgetURLTab
5041
self.windowEvent = windowEvent
5142
self.pushNotificationTodoIdPublisher = pushNotificationTodoIdPublisher
@@ -63,7 +54,7 @@ public struct RootView: View {
6354
selectedTab: $selectedMainTab
6455
)
6556
} else {
66-
LoginView(store: loginStore)
57+
LoginView(signInUseCase: container.resolve(SignInUseCase.self))
6758
}
6859
}
6960
}

0 commit comments

Comments
 (0)