[DO NOT MERGE] feat(mobile): add Liquid Glass to translucent overlays - #129
Closed
GSTJ wants to merge 20 commits into
Closed
[DO NOT MERGE] feat(mobile): add Liquid Glass to translucent overlays#129GSTJ wants to merge 20 commits into
GSTJ wants to merge 20 commits into
Conversation
Migrate the (tabs) layout to expo-router's Native Tabs on iOS, so the tab bar is OS-rendered: Liquid Glass on iOS 26, standard UIKit tab bar on iOS 18 and below, automatically (no flag). Android keeps the existing JS Tabs -- Native Tabs there render as a plain Material 3 bottom nav and would cost the fine-grained theme.spacing/safe-area insets and the gradient brand icons the app renders today (Native Tabs icons only accept SF Symbols/xcasset/drawable/material glyphs/ static image sources, not arbitrary SVG element trees), a straight downgrade with nothing gained since Liquid Glass is iOS 26-only. Tab order, testIDs (via unstable_nativeProps.tabBarItemTestID), localized labels, and the underlying screens are all preserved. Labels stay hidden on iOS to match the current icon-only look, with tabBarItemAccessibilityLabel wired separately so VoiceOver still gets a real name. Also add GlassView (expo-glass-effect) to two overlay surfaces, each gated on isLiquidGlassAvailable() with a non-glass fallback: - the match action bar pill buttons (swipe screen) - the distance chip on the swipe card, replacing the iOS blur/Android flat TransparentAndroidDarkBlurView with real Liquid Glass on iOS 26+ and the exact same fallback everywhere else Bump app.config.ts to 1.5.0 for the native change.
…ve module can't crash boot
…bBarHeight throw)
…e on iOS - shared useTabBarHeight/useTabBarOverlap hooks: safe BottomTabBarHeightContext read with a UITabBar (49pt + bottom inset) fallback under iOS Native Tabs - MatchActionBar and Messages list now clear the translucent bar; Android JS tabs unchanged (overlap resolves to 0) - Profile reuses the shared hook instead of its inline fallback - native tab bar follows the in-app theme via experimental_userInterfaceStyle (UIKit traits ignore Appearance.setColorScheme, so dark mode showed light glass)
…f lifting the buttons The card deck (and its floating action bar, back at its original spacing[6] offset) now ends above the translucent bar via a bottom inset on the swipe content region, restoring the pre-native-tabs proportions: photo, name, description and distance chip all fully visible. Android JS tabs unchanged (overlap is 0).
# Conflicts: # apps/mobile/package.json # pnpm-lock.yaml
This reverts commit 080954f.
Owner
Author
|
This is still an experimental pile of fixes and reverts, so I'm not shipping it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reopens #78 with the same diff, merged without review and reverted in #124. Holding it here for proper review before it merges.