Skip to content

Commit bc65978

Browse files
authored
Доработал алерты при отсутствии подключения (#323)
* Доработал алерты при отсутствии подключения - Добавил алерты на детальные экраны площадок и мероприятий - Поменял формулировку сообщения в алерте на более универсальную - На экране профиля основного пользователя отдельно обрабатываем ошибку отсутствия подключения * Update README.md
1 parent 9c78ceb commit bc65978

File tree

8 files changed

+31
-24
lines changed

8 files changed

+31
-24
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,9 @@ chmod +x githooks/pre-push
126126
- `Build` - версия сборки для `TestFlight`
127127

128128
### Публикация приложения
129-
#### TestFlight
129+
Сборки в `TestFlight` публикуются автоматически при отправке изменений в `main`-ветку (используем `Xcode Cloud`).
130+
131+
#### Ручная отправка в TestFlight
130132
1. Скачать актуальную версию репозитория
131133
- Если ранее не скачивал, можно скачать по зеленой кнопке сверху с текстом `Code -> Open with Xcode`
132134
- Если ранее скачивал, то открываешь `Xcode`, в верхней панели нажать `Source Control -> Pull`
@@ -139,9 +141,9 @@ chmod +x githooks/pre-push
139141
6. Пройти по всем шагам и снять галку с автоматического изменения версии сборки на одном из финальных шагов
140142

141143
#### AppStore
142-
1. Открыть страницу с приложением в **AppstoreConnect**
144+
1. Открыть страницу с приложением в **appstoreconnect.apple.com**
143145
2. В левом меню рядом с версией в статусе **Готово к продаже** нажать `+` и добавить новую версию
144-
3. Заполнить поле **Что нового в этой версии**
146+
3. Заполнить поле **Что нового в этой версии** для русского и английского языков
145147
4. Ниже в разделе **Сборка** выбрать нужную сборку из `TestFlight`
146148
5. Ниже на странице проверить галки
147149
- *Выпустить эту версию автоматически*

SwiftUI-WorkoutApp/Libraries/SWNetworkClient/Sources/SWNetworkClient/ClientError.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public enum ClientError: Error, LocalizedError {
77
public var errorDescription: String? {
88
switch self {
99
case .forceLogout: "Для корректной работы приложения нужен повторный вход"
10-
case .noConnection: "Проверьте подключение и повторите попытку"
10+
case .noConnection: "Не удалось загрузить данные. Проверьте подключение к интернету."
1111
}
1212
}
1313
}

SwiftUI-WorkoutApp/Libraries/SWUtils/Sources/SWUtils/SWAlert.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public final class SWAlert {
5757
if showAlert {
5858
presentDefaultUIKit(
5959
title: NSLocalizedString("Нет соединения с сетью", comment: ""),
60-
message: NSLocalizedString("Проверьте подключение и повторите попытку", comment: "")
60+
message: NSLocalizedString("Не удалось загрузить данные. Проверьте подключение к интернету.", comment: "")
6161
)
6262
}
6363
return showAlert

SwiftUI-WorkoutApp/Resources/Localizable.xcstrings

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2398,6 +2398,23 @@
23982398
}
23992399
}
24002400
},
2401+
"Не удалось загрузить данные. Проверьте подключение к интернету." : {
2402+
"extractionState" : "manual",
2403+
"localizations" : {
2404+
"en" : {
2405+
"stringUnit" : {
2406+
"state" : "translated",
2407+
"value" : "Failed to load data. Check your internet connection."
2408+
}
2409+
},
2410+
"ru" : {
2411+
"stringUnit" : {
2412+
"state" : "translated",
2413+
"value" : "Не удалось загрузить данные. Проверьте подключение к интернету."
2414+
}
2415+
}
2416+
}
2417+
},
24012418
"Не удалось найти такого пользователя" : {
24022419
"extractionState" : "manual",
24032420
"localizations" : {
@@ -3334,23 +3351,6 @@
33343351
}
33353352
}
33363353
},
3337-
"Проверьте подключение и повторите попытку" : {
3338-
"extractionState" : "manual",
3339-
"localizations" : {
3340-
"en" : {
3341-
"stringUnit" : {
3342-
"state" : "translated",
3343-
"value" : "Check your connection and try again"
3344-
}
3345-
},
3346-
"ru" : {
3347-
"stringUnit" : {
3348-
"state" : "translated",
3349-
"value" : "Проверьте подключение и повторите попытку"
3350-
}
3351-
}
3352-
}
3353-
},
33543354
"Профиль" : {
33553355
"localizations" : {
33563356
"en" : {

SwiftUI-WorkoutApp/Screens/Events/EventDetailsScreen.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ private extension EventDetailsScreen {
365365

366366
func askForInfo(refresh: Bool = false) async {
367367
if event.isFull, !refresh { return }
368+
guard !SWAlert.shared.presentNoConnection(isNetworkConnected) else { return }
368369
if !refresh { isLoading = true }
369370
do {
370371
event = try await SWClient(with: defaults).getEvent(by: event.id)

SwiftUI-WorkoutApp/Screens/Parks/ParkDetailScreen.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ private extension ParkDetailScreen {
347347

348348
func askForInfo(refresh: Bool = false) async {
349349
if park.isFull, !refresh { return }
350+
guard !SWAlert.shared.presentNoConnection(isNetworkConnected) else { return }
350351
if !refresh { isLoading = true }
351352
do {
352353
park = try await SWClient(with: defaults).getPark(id: park.id)

SwiftUI-WorkoutApp/Screens/Profile/MainUserProfileScreen.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ private extension MainUserProfileScreen {
154154
func askForUserInfo(refresh: Bool = false) async {
155155
guard let userId = defaults.mainUserInfo?.id else { return }
156156
guard !isLoading else { return }
157-
guard !SWAlert.shared.presentNoConnection(isNetworkConnected) else { return }
158157
if !refresh || defaults.needUpdateUser { isLoading = true }
159158
if refresh || defaults.needUpdateUser {
160159
do {
@@ -163,6 +162,8 @@ private extension MainUserProfileScreen {
163162
try defaults.saveFriendRequests(result.friendRequests)
164163
try defaults.saveBlacklist(result.blacklist)
165164
try defaults.saveUserInfo(result.user)
165+
} catch ClientError.noConnection {
166+
SWAlert.shared.presentNoConnection(false)
166167
} catch {
167168
SWAlert.shared.presentDefaultUIKit(error)
168169
}

SwiftUI-WorkoutApp/Screens/Profile/UserDetailsScreen.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,9 @@ private extension UserDetailsScreen {
174174

175175
func askForUserInfo(refresh: Bool = false) async {
176176
guard !isLoading else { return }
177-
guard !SWAlert.shared.presentNoConnection(isNetworkConnected) else { return }
177+
guard !SWAlert.shared.presentNoConnection(isNetworkConnected) else {
178+
return
179+
}
178180
if !refresh { isLoading = true }
179181
if refresh || !user.isFull {
180182
await makeUserInfo()

0 commit comments

Comments
 (0)