Skip to content

Commit 43d10eb

Browse files
committed
feat: 테마뷰에서 네트워크가 끊어지면 업데이트 불가능하도록 추가
1 parent b398b00 commit 43d10eb

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

DevLog/UI/Setting/SettingView.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ struct SettingView: View {
1313
@Environment(NavigationRouter.self) var router
1414

1515
var body: some View {
16+
let connected = viewModel.state.isNetworkConnected
1617
Form {
1718
Section {
1819
Button {
@@ -31,9 +32,9 @@ struct SettingView: View {
3132
router.push(Path.pushNotification)
3233
} label: {
3334
Text("알림")
34-
.foregroundStyle(Color.primary)
35+
.foregroundStyle(connected ? Color.primary : Color.secondary)
3536
}
36-
.disabled(!viewModel.state.isNetworkConnected)
37+
.disabled(!connected)
3738

3839
let dirSize = viewModel.state.dirSize
3940
Button {
@@ -86,13 +87,13 @@ struct SettingView: View {
8687
} label: {
8788
Text("계정 연동")
8889
}
89-
.disabled(!viewModel.state.isNetworkConnected)
90+
.disabled(!connected)
9091
Button(role: .destructive, action: {
9192
viewModel.send(.setAlert(isPresented: true, type: .signOut))
9293
}) {
9394
Text("로그아웃")
9495
}
95-
.disabled(!viewModel.state.isNetworkConnected)
96+
.disabled(!connected)
9697
}
9798

9899
HStack {
@@ -103,7 +104,7 @@ struct SettingView: View {
103104
Text("회원 탈퇴")
104105
.font(.headline)
105106
}
106-
.disabled(!viewModel.state.isNetworkConnected)
107+
.disabled(!connected)
107108
Spacer()
108109
}
109110
}
@@ -113,6 +114,7 @@ struct SettingView: View {
113114
switch path {
114115
case .theme:
115116
ThemeView(
117+
isInteractionEnabled: connected,
116118
theme: Binding(
117119
get: { viewModel.state.theme },
118120
set: { viewModel.send(.setTheme($0)) }

DevLog/UI/Setting/ThemeView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import SwiftUI
99

1010
struct ThemeView: View {
11+
let isInteractionEnabled: Bool
1112
@Binding var theme: SystemTheme
1213

1314
var body: some View {
@@ -49,6 +50,7 @@ struct ThemeView: View {
4950
}
5051
}
5152
}
53+
.disabled(!isInteractionEnabled)
5254
.listStyle(.insetGrouped)
5355
.toolbar {
5456
ToolbarItem(placement: .principal) {

0 commit comments

Comments
 (0)