fix: hide FAB on Reader tab, fix tab bar collapse during auto-scroll, position glass bar bottom-right
All checks were successful
Security Checks / dependency-audit (push) Successful in 13s
Security Checks / secret-scanning (push) Successful in 5s
Security Checks / dockerfile-lint (push) Successful in 4s

1. FAB hidden when selectedTab == 2 (Reader) — no plus button
   on Reader since it's for food logging

2. Auto-scroll now notifies original UIScrollViewDelegate via
   scrollViewDidScroll after each contentOffset change — this
   triggers tabBarMinimizeBehavior so the tab bar collapses
   during auto-scroll just like manual scrolling

3. Glass control bar positioned bottom-right (like Photos search
   icon) instead of bottom-center

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Yusuf Suleman
2026-04-04 07:22:14 -05:00
parent 1b23525493
commit 7815f56b4f
3 changed files with 25 additions and 21 deletions

View File

@@ -53,17 +53,16 @@ struct MainTabView: View {
.tint(Color.accentWarm)
.modifier(TabBarMinimizeModifier())
// Floating buttons
// Floating buttons (hidden on Reader tab)
if selectedTab != 2 {
VStack {
Spacer()
HStack(alignment: .bottom) {
// Feedback button (subtle, bottom-left)
FeedbackButton()
.padding(.leading, 20)
Spacer()
// Add food button (prominent, bottom-right)
Button { showAssistant = true } label: {
Image(systemName: "plus")
.font(.title2.weight(.semibold))
@@ -78,6 +77,7 @@ struct MainTabView: View {
.padding(.bottom, 70)
}
}
}
.confettiCannon(
trigger: $confettiTrigger,
num: 80,

View File

@@ -11,7 +11,7 @@ struct ReaderTabView: View {
var body: some View {
NavigationStack {
ZStack(alignment: .bottom) {
ZStack(alignment: .bottomTrailing) {
VStack(spacing: 0) {
// Sub-tab selector
HStack(spacing: 0) {
@@ -93,7 +93,8 @@ struct ReaderTabView: View {
// MARK: - Liquid Glass Control Bar
glassControlBar
.padding(.bottom, 2)
.padding(.trailing, 16)
.padding(.bottom, 4)
}
.navigationBarHidden(true)
.sheet(isPresented: $showFeedSheet) {

View File

@@ -110,6 +110,9 @@ struct ScrollViewDriver: UIViewRepresentable {
sv.contentOffset.y = newY
// Notify delegate so tab bar minimize behavior triggers
originalDelegate?.scrollViewDidScroll?(sv)
// Stop at bottom
if newY >= maxOffset - 1 {
stopAndNotify()