Skip to content

Commit d8a7231

Browse files
committed
Поправил доступность кнопки выбора площадки
1 parent 3ea6dd4 commit d8a7231

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

SwiftUI-WorkoutApp/Screens/Events/Form/EventFormView.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ private extension EventFormView {
9898
trailingContent: .chevron
9999
)
100100
}
101-
.disabled(!viewModel.canShowGroundPicker(with: defaults))
101+
.disabled(
102+
!viewModel.canShowGroundPicker(with: defaults, mode: mode)
103+
|| !network.isConnected
104+
)
102105
case let .createForSelected(ground):
103106
ListRowView(
104107
leadingContent: .text(ground.name.valueOrEmpty),
@@ -113,7 +116,10 @@ private extension EventFormView {
113116
trailingContent: .chevron
114117
)
115118
}
116-
.disabled(!viewModel.canShowGroundPicker(with: defaults))
119+
.disabled(
120+
!viewModel.canShowGroundPicker(with: defaults, mode: mode)
121+
|| !network.isConnected
122+
)
117123
}
118124
}
119125
.sheet(isPresented: $showGroundPicker) {

SwiftUI-WorkoutApp/Screens/Events/Form/EventFormViewModel.swift

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,22 @@ final class EventFormViewModel: ObservableObject {
4949
}
5050

5151
/// Не показываем пикер площадок, если `userID` отсутствует
52-
func canShowGroundPicker(with defaults: DefaultsProtocol) -> Bool {
53-
guard let userInfo = defaults.mainUserInfo else { return false }
54-
return userInfo.userID != nil && userInfo.usedSportsGroundsCount > 1
52+
func canShowGroundPicker(
53+
with defaults: DefaultsProtocol,
54+
mode: EventFormView.Mode
55+
) -> Bool {
56+
guard let userInfo = defaults.mainUserInfo, userInfo.userID != nil else {
57+
return false
58+
}
59+
switch mode {
60+
case .regularCreate:
61+
return true
62+
case .editExisting:
63+
return userInfo.usedSportsGroundsCount > 1
64+
case .createForSelected:
65+
return false
66+
}
67+
5568
}
5669

5770
func clearErrorMessage() { errorMessage = "" }

0 commit comments

Comments
 (0)