add qr screen

This commit is contained in:
cheykrym 2025-10-23 23:04:09 +03:00
parent e79cbd7ea4
commit aac0a25c4d
4 changed files with 31 additions and 0 deletions

View File

@ -11,6 +11,7 @@ struct TopBarView: View {
// var viewModel: LoginViewModel // var viewModel: LoginViewModel
@ObservedObject var viewModel: LoginViewModel @ObservedObject var viewModel: LoginViewModel
@Binding var isSettingsPresented: Bool @Binding var isSettingsPresented: Bool
@Binding var isQrPresented: Bool
// Привязка для управления боковым меню // Привязка для управления боковым меню
@Binding var isSideMenuPresented: Bool @Binding var isSideMenuPresented: Bool
@ -28,6 +29,10 @@ struct TopBarView: View {
var isProfileTab: Bool { var isProfileTab: Bool {
return title == "Profile" return title == "Profile"
} }
var isContactsTab: Bool {
return title == "Contacts"
}
private var statusMessage: String? { private var statusMessage: String? {
if viewModel.chatLoadingState == .loading { if viewModel.chatLoadingState == .loading {
@ -112,6 +117,14 @@ struct TopBarView: View {
.imageScale(.large) .imageScale(.large)
.foregroundColor(.primary) .foregroundColor(.primary)
} }
} else if isContactsTab {
NavigationLink(isActive: $isQrPresented) {
QrView()
} label: {
Image(systemName: "qrcode.viewfinder")
.imageScale(.large)
.foregroundColor(.primary)
}
} }
// else if isChatsTab { // else if isChatsTab {
@ -220,6 +233,7 @@ struct TopBarView_Previews: PreviewProvider {
@StateObject private var viewModel = LoginViewModel() @StateObject private var viewModel = LoginViewModel()
@State private var searchText: String = "" @State private var searchText: String = ""
@State private var isSettingsPresented = false @State private var isSettingsPresented = false
@State private var isQrPresented = false
var body: some View { var body: some View {
TopBarView( TopBarView(
@ -229,6 +243,7 @@ struct TopBarView_Previews: PreviewProvider {
accounts: [selectedAccount], accounts: [selectedAccount],
viewModel: viewModel, viewModel: viewModel,
isSettingsPresented: $isSettingsPresented, isSettingsPresented: $isSettingsPresented,
isQrPresented: $isSettingsPresented,
isSideMenuPresented: $isSideMenuPresented, isSideMenuPresented: $isSideMenuPresented,
chatSearchRevealProgress: $revealProgress, chatSearchRevealProgress: $revealProgress,
chatSearchText: $searchText, chatSearchText: $searchText,

View File

@ -158,6 +158,9 @@
} }
} }
} }
},
"Qr" : {
}, },
"Yobble" : { "Yobble" : {
"localizations" : { "localizations" : {

View File

@ -18,6 +18,7 @@ struct MainView: View {
@State private var chatSearchRevealProgress: CGFloat = 0 @State private var chatSearchRevealProgress: CGFloat = 0
@State private var chatSearchText: String = "" @State private var chatSearchText: String = ""
@State private var isSettingsPresented = false @State private var isSettingsPresented = false
@State private var isQrPresented = false
@State private var deepLinkChatItem: PrivateChatListItem? @State private var deepLinkChatItem: PrivateChatListItem?
@State private var isDeepLinkChatActive = false @State private var isDeepLinkChatActive = false
@ -50,6 +51,7 @@ struct MainView: View {
accounts: accounts, accounts: accounts,
viewModel: viewModel, viewModel: viewModel,
isSettingsPresented: $isSettingsPresented, isSettingsPresented: $isSettingsPresented,
isQrPresented: $isQrPresented,
isSideMenuPresented: $isSideMenuPresented, isSideMenuPresented: $isSideMenuPresented,
chatSearchRevealProgress: $chatSearchRevealProgress, chatSearchRevealProgress: $chatSearchRevealProgress,
chatSearchText: $chatSearchText chatSearchText: $chatSearchText

View File

@ -0,0 +1,11 @@
import SwiftUI
struct QrView: View {
var body: some View {
Form {
}
.navigationTitle("Qr")
}
}