mirror of
https://github.com/block/buzz.git
synced 2026-11-04 16:31:38 +00:00
Standardizes mobile navigation headers: Android uses Home’s shared Flutter blur; iOS uses native soft edges, with graduated material retained during large-title collapse and the iOS 26 fallback preserved. Preserves Home’s upward title motion with a soft boundary and keeps the avatar crop title visible. Validation: 4,112 Flutter tests and 111 native tests passed after merging main. Rendered partial-scroll regression verified on the iOS 27 simulator; removing either review fix fails its regression assertion. The earlier preview was installed on a physical iPhone with the existing profile. --------- Signed-off-by: kenny lopez <klopez4212@gmail.com> Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz>
19 lines
654 B
Swift
19 lines
654 B
Swift
import UIKit
|
|
|
|
/// Applies the app's soft navigation edge to app-owned native sheets.
|
|
/// OS-owned pickers retain their system presentation.
|
|
enum NavigationTopEdge {
|
|
static func configure(_ scrollView: UIScrollView, item: UINavigationItem) {
|
|
if #available(iOS 26.0, *) {
|
|
scrollView.topEdgeEffect.style = .soft
|
|
scrollView.bottomEdgeEffect.isHidden = true
|
|
}
|
|
let appearance = UINavigationBarAppearance()
|
|
appearance.configureWithDefaultBackground()
|
|
item.standardAppearance = appearance
|
|
item.scrollEdgeAppearance = appearance
|
|
item.compactAppearance = appearance
|
|
item.compactScrollEdgeAppearance = appearance
|
|
}
|
|
}
|