add refresh chat msg
This commit is contained in:
parent
49ac88c23c
commit
da5f198d8c
@ -28,11 +28,11 @@ struct TopBarView: View {
|
||||
}
|
||||
|
||||
private var statusMessage: String? {
|
||||
if viewModel.socketState != .connected {
|
||||
return NSLocalizedString("Подключение", comment: "")
|
||||
}
|
||||
if viewModel.chatLoadingState == .loading {
|
||||
return NSLocalizedString("Загрузка чатов", comment: "")
|
||||
} else
|
||||
if viewModel.socketState != .connected {
|
||||
return NSLocalizedString("Подключение", comment: "")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ import UIKit
|
||||
#endif
|
||||
|
||||
struct ChatsTab: View {
|
||||
var currentUserId: String?
|
||||
@ObservedObject private var loginViewModel: LoginViewModel
|
||||
@Binding var searchRevealProgress: CGFloat
|
||||
@Binding var searchText: String
|
||||
private let searchService = SearchService()
|
||||
@ -33,8 +33,13 @@ struct ChatsTab: View {
|
||||
|
||||
private let searchRevealDistance: CGFloat = 90
|
||||
|
||||
init(currentUserId: String? = nil, searchRevealProgress: Binding<CGFloat>, searchText: Binding<String>) {
|
||||
self.currentUserId = currentUserId
|
||||
private var currentUserId: String? {
|
||||
let userId = loginViewModel.userId
|
||||
return userId.isEmpty ? nil : userId
|
||||
}
|
||||
|
||||
init(loginViewModel: LoginViewModel, searchRevealProgress: Binding<CGFloat>, searchText: Binding<String>) {
|
||||
self._loginViewModel = ObservedObject(wrappedValue: loginViewModel)
|
||||
self._searchRevealProgress = searchRevealProgress
|
||||
self._searchText = searchText
|
||||
}
|
||||
@ -108,16 +113,14 @@ struct ChatsTab: View {
|
||||
HStack(alignment: .top, spacing: 8) {
|
||||
Image(systemName: "exclamationmark.triangle.fill")
|
||||
.foregroundColor(.orange)
|
||||
|
||||
Text(message)
|
||||
.font(.subheadline)
|
||||
.foregroundColor(.orange)
|
||||
Spacer(minLength: 0)
|
||||
|
||||
// Button(action: triggerChatsReload) {
|
||||
// Text(NSLocalizedString("Обновить", comment: ""))
|
||||
// .font(.subheadline)
|
||||
// }
|
||||
Button(action: triggerChatsReload) {
|
||||
Text(NSLocalizedString("Обновить", comment: ""))
|
||||
.font(.subheadline)
|
||||
}
|
||||
}
|
||||
.padding(.vertical, 4)
|
||||
}
|
||||
@ -387,6 +390,9 @@ struct ChatsTab: View {
|
||||
}
|
||||
|
||||
private func triggerChatsReload() {
|
||||
if loginViewModel.chatLoadingState != .loading {
|
||||
loginViewModel.chatLoadingState = .loading
|
||||
}
|
||||
viewModel.loadInitialChats(force: true)
|
||||
}
|
||||
|
||||
@ -1144,9 +1150,14 @@ struct ChatsTab_Previews: PreviewProvider {
|
||||
struct Wrapper: View {
|
||||
@State private var progress: CGFloat = 1
|
||||
@State private var searchText: String = ""
|
||||
@StateObject private var loginViewModel = LoginViewModel()
|
||||
|
||||
var body: some View {
|
||||
ChatsTab(searchRevealProgress: $progress, searchText: $searchText)
|
||||
ChatsTab(
|
||||
loginViewModel: loginViewModel,
|
||||
searchRevealProgress: $progress,
|
||||
searchText: $searchText
|
||||
)
|
||||
.environmentObject(ThemeManager())
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ struct MainView: View {
|
||||
.opacity(selectedTab == 1 ? 1 : 0)
|
||||
|
||||
ChatsTab(
|
||||
currentUserId: viewModel.userId.isEmpty ? nil : viewModel.userId,
|
||||
loginViewModel: viewModel,
|
||||
searchRevealProgress: $chatSearchRevealProgress,
|
||||
searchText: $chatSearchText
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user