KasztelanKarta/Kasztelan/MainTabView.swift
2026-10-23 01:28:42 +01:00

48 lines
1.7 KiB
Swift

import SwiftUI
struct MainTabView: View {
@EnvironmentObject private var model: AppModel
var body: some View {
ZStack {
AmbientBackground()
TabView(selection: $model.selectedTab) {
NavigationStack { WalletView() }
.toolbarBackground(.hidden, for: .navigationBar)
.tabItem { Label(model.text("Karta", "Card"), systemImage: "creditcard.fill") }
.tag(0)
NavigationStack { MessagesView() }
.toolbarBackground(.hidden, for: .navigationBar)
.tabItem { Label(model.text("Wiadomości", "Messages"), systemImage: "envelope.fill") }
.badge(model.messages.count)
.tag(1)
NavigationStack { ProfileView() }
.toolbarBackground(.hidden, for: .navigationBar)
.tabItem { Label(model.text("Profil", "Profile"), systemImage: "person.crop.circle.fill") }
.tag(2)
}
.background(.clear)
}
.tint(KTheme.orange)
.toolbarBackground(.ultraThinMaterial, for: .tabBar)
.toolbarBackground(.visible, for: .tabBar)
.task { await NotificationService.requestPermission() }
}
}
struct AppToolbar: ToolbarContent {
@EnvironmentObject private var model: AppModel
var body: some ToolbarContent {
ToolbarItem(placement: .principal) {
Image("Logo")
.resizable()
.scaledToFit()
.frame(width: 170, height: 44)
.shadow(color: KTheme.pink.opacity(0.28), radius: 12)
}
ToolbarItem(placement: .topBarTrailing) { LanguageButton() }
}
}