feat: hide Reader tab for Madiha (user ID 4)
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:
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user