summaryrefslogtreecommitdiff
path: root/DomainDig/RootTabView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-22 11:46:52 -0500
committerChristian Cleberg <[email protected]>2026-04-22 11:46:52 -0500
commit37b02e5ee360d61751951b77b7b556165a3af1fc (patch)
treec2e30f32c4e8d2fcdf7035f97e9e353f09859114 /DomainDig/RootTabView.swift
parentceac99c05f180d9008b75c9329822466ff60255b (diff)
downloaddomain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.tar.gz
domain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.tar.bz2
domain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.zip
feat(v3.0.0): unify platform architecture and introduce feature tiers
* consolidate DomainReport as canonical data model * add feature tier system (free/pro/data+ scaffolding) * apply clean feature gating across workflows and tracking * refactor app structure for maintainability * standardize navigation and settings * add data lifecycle controls * ensure consistency across UI, export, and CLI * stabilize internal inspection API
Diffstat (limited to 'DomainDig/RootTabView.swift')
-rw-r--r--DomainDig/RootTabView.swift42
1 files changed, 42 insertions, 0 deletions
diff --git a/DomainDig/RootTabView.swift b/DomainDig/RootTabView.swift
new file mode 100644
index 0000000..19ea444
--- /dev/null
+++ b/DomainDig/RootTabView.swift
@@ -0,0 +1,42 @@
+import SwiftUI
+
+struct RootTabView: View {
+ @Bindable var viewModel: DomainViewModel
+
+ var body: some View {
+ TabView {
+ ContentView(viewModel: viewModel)
+ .tabItem {
+ Label("Inspect", systemImage: "magnifyingglass")
+ }
+
+ NavigationStack {
+ WatchlistView(viewModel: viewModel)
+ }
+ .tabItem {
+ Label("Watchlist", systemImage: "eye")
+ }
+
+ NavigationStack {
+ HistoryView(viewModel: viewModel)
+ }
+ .tabItem {
+ Label("History", systemImage: "clock.arrow.trianglehead.counterclockwise.rotate.90")
+ }
+
+ NavigationStack {
+ WorkflowsView(viewModel: viewModel)
+ }
+ .tabItem {
+ Label("Workflows", systemImage: "square.stack.3d.down.right")
+ }
+
+ NavigationStack {
+ SettingsView(viewModel: viewModel)
+ }
+ .tabItem {
+ Label("Settings", systemImage: "gearshape")
+ }
+ }
+ }
+}