feat: hide Reader tab for Madiha (user ID 4)
All checks were successful
Security Checks / dependency-audit (push) Successful in 14s
Security Checks / secret-scanning (push) Successful in 4s
Security Checks / dockerfile-lint (push) Successful in 4s

Madiha sees only Home + Fitness tabs (same as web dashboard).
Reader tab, pre-warm, and data pre-fetch all skipped for her login.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yusuf Suleman
2026-04-03 23:50:49 -05:00
parent 1f32e5436e
commit 99ad307103

View File

@@ -23,11 +23,16 @@ struct ContentView: View {
} }
struct MainTabView: View { struct MainTabView: View {
@Environment(AuthManager.self) private var auth
@State private var selectedTab = 0 @State private var selectedTab = 0
@State private var showAssistant = false @State private var showAssistant = false
@State private var confettiTrigger = 0 @State private var confettiTrigger = 0
@State private var readerVM = ReaderViewModel() @State private var readerVM = ReaderViewModel()
private var showReader: Bool {
auth.currentUser?.id != 4 // Madiha doesn't see Reader
}
var body: some View { var body: some View {
ZStack { ZStack {
TabView(selection: $selectedTab) { TabView(selection: $selectedTab) {
@@ -39,9 +44,11 @@ struct MainTabView: View {
.tabItem { Label("Fitness", systemImage: "flame.fill") } .tabItem { Label("Fitness", systemImage: "flame.fill") }
.tag(1) .tag(1)
ReaderTabView(vm: readerVM) if showReader {
.tabItem { Label("Reader", systemImage: "newspaper.fill") } ReaderTabView(vm: readerVM)
.tag(2) .tabItem { Label("Reader", systemImage: "newspaper.fill") }
.tag(2)
}
} }
.tint(Color.accentWarm) .tint(Color.accentWarm)
.modifier(TabBarMinimizeModifier()) .modifier(TabBarMinimizeModifier())
@@ -86,7 +93,7 @@ struct MainTabView: View {
AssistantSheetView(onFoodAdded: foodAdded) AssistantSheetView(onFoodAdded: foodAdded)
} }
.task { .task {
// Pre-warm WebKit process pool + pre-fetch reader data guard showReader else { return }
_ = ArticleRenderer.shared _ = ArticleRenderer.shared
await readerVM.loadInitial() await readerVM.loadInitial()
} }