31 lines
1.3 KiB
Swift
31 lines
1.3 KiB
Swift
import SwiftUI
|
|
|
|
/// Shown once `AppState.phase == .signedIn`. Each tab's root view is built
|
|
/// independently (see the Features/ subfolders) and referenced here only by
|
|
/// its type name — this file is the one integration point between them, so
|
|
/// none of the three needs to know the other two exist.
|
|
struct MainTabView: View {
|
|
var body: some View {
|
|
TabView {
|
|
// Features/Scan/ScanTabView.swift
|
|
ScanTabView()
|
|
.tabItem { Label("Scannen", systemImage: "camera.viewfinder") }
|
|
|
|
// Features/Receipts/ReceiptsListView.swift
|
|
ReceiptsListView()
|
|
.tabItem { Label("Belege", systemImage: "list.bullet.rectangle") }
|
|
|
|
// Features/Settings/SettingsView.swift
|
|
SettingsView()
|
|
.tabItem { Label("Konto", systemImage: "person.crop.circle") }
|
|
}
|
|
.tint(.zenithBlack)
|
|
// Solid white tab bar, no translucent system blur — the design
|
|
// system rejects soft/blurred depth cues in favor of flat surfaces
|
|
// with a hard 1px edge (the hairline the system automatically draws
|
|
// at the top of an opaque tab bar stands in for that border here).
|
|
.toolbarBackground(Color.zenithSurface, for: .tabBar)
|
|
.toolbarBackground(.visible, for: .tabBar)
|
|
}
|
|
}
|