blob: 06a9352f670c3802f2e7c050e7200e2b2b91c008 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
import SwiftUI
struct RootTabView: View {
@Bindable var viewModel: DomainViewModel
@State private var purchaseService = PurchaseService.shared
var body: some View {
let _ = purchaseService.currentTier
TabView {
ContentView(viewModel: viewModel)
.tabItem {
Label("Inspect", systemImage: "magnifyingglass")
}
NavigationStack {
WatchlistView(viewModel: viewModel)
}
.tabItem {
Label("Watchlist", systemImage: "eye")
}
NavigationStack {
MonitoringView(viewModel: viewModel)
}
.tabItem {
Label("Monitoring", systemImage: "waveform.path.ecg")
}
NavigationStack {
HistoryView(viewModel: viewModel)
}
.tabItem {
Label("History", systemImage: "clock.arrow.trianglehead.counterclockwise.rotate.90")
}
NavigationStack {
SettingsView(viewModel: viewModel)
}
.tabItem {
Label("More", systemImage: "ellipsis.circle")
}
}
.sheet(isPresented: Binding(
get: { viewModel.isPaywallPresented },
set: { viewModel.isPaywallPresented = $0 }
)) {
PaywallView()
}
.alert(item: Binding(
get: { viewModel.upgradePrompt },
set: { viewModel.upgradePrompt = $0 }
)) { prompt in
Alert(
title: Text(prompt.title),
message: Text(prompt.message),
primaryButton: .default(Text("Open Paywall")) {
viewModel.upgradePrompt = nil
viewModel.isPaywallPresented = true
},
secondaryButton: .cancel(Text("Continue")) {
viewModel.upgradePrompt = nil
}
)
}
}
}
|