64 lines
2.0 KiB
Swift
64 lines
2.0 KiB
Swift
import SwiftUI
|
||
|
||
struct TopBarView: View {
|
||
var title: String
|
||
|
||
// Состояния для ProfileTab
|
||
@Binding var selectedAccount: String
|
||
@Binding var sheetType: ProfileTab.SheetType?
|
||
var accounts: [String]
|
||
var viewModel: LoginViewModel
|
||
|
||
var isHomeTab: Bool {
|
||
return title == "Home"
|
||
}
|
||
|
||
var isProfileTab: Bool {
|
||
return title == "Profile"
|
||
}
|
||
|
||
var body: some View {
|
||
VStack(spacing: 0) {
|
||
HStack {
|
||
if isHomeTab{
|
||
Text("Yobble")
|
||
.font(.largeTitle)
|
||
.fontWeight(.bold)
|
||
Spacer()
|
||
} else if isProfileTab {
|
||
Spacer()
|
||
Button(action: { sheetType = .accountShare }) {
|
||
HStack(spacing: 4) {
|
||
Text(selectedAccount)
|
||
.font(.headline)
|
||
.foregroundColor(.primary)
|
||
Image(systemName: "chevron.down")
|
||
.font(.subheadline)
|
||
.foregroundColor(.gray)
|
||
}
|
||
}
|
||
Spacer()
|
||
} else {
|
||
Text(title)
|
||
.font(.largeTitle)
|
||
.fontWeight(.bold)
|
||
Spacer()
|
||
}
|
||
|
||
if isProfileTab {
|
||
NavigationLink(destination: SettingsView(viewModel: viewModel)) {
|
||
Image(systemName: "wrench")
|
||
.imageScale(.large)
|
||
.foregroundColor(.primary)
|
||
}
|
||
}
|
||
}
|
||
.padding()
|
||
.frame(height: 50) // Стандартная высота для нав. бара
|
||
|
||
// Divider()
|
||
}
|
||
.background(Color(UIColor.systemBackground))
|
||
}
|
||
}
|