diff --git a/ElementX/Sources/Screens/RoomScreen/View/KnockRequestsBannerView.swift b/ElementX/Sources/Screens/RoomScreen/View/KnockRequestsBannerView.swift index c83b43d3f..50550aa97 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/KnockRequestsBannerView.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/KnockRequestsBannerView.swift @@ -29,6 +29,7 @@ struct KnockRequestsBannerView: View { .background(.compound.bgCanvasDefaultLevel1, in: RoundedRectangle(cornerRadius: 12)) .compositingGroup() .shadow(color: Color(red: 0.11, green: 0.11, blue: 0.13).opacity(0.1), radius: 12, x: 0, y: 4) + .padding(.bottom, 28) .padding(.horizontal, 16) } diff --git a/ElementX/Sources/Screens/RoomScreen/View/PinnedItemsBanner/PinnedItemsBannerView.swift b/ElementX/Sources/Screens/RoomScreen/View/PinnedItemsBanner/PinnedItemsBannerView.swift index 48c0d36fc..8157eaf36 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/PinnedItemsBanner/PinnedItemsBannerView.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/PinnedItemsBanner/PinnedItemsBannerView.swift @@ -23,6 +23,8 @@ struct PinnedItemsBannerView: View { .padding(.leading, 16) .background(Color.compound.bgCanvasDefault) .shadow(color: Color(red: 0.11, green: 0.11, blue: 0.13).opacity(0.1), radius: 12, x: 0, y: 4) + // To include the shadow in the size + .padding(.bottom, 28) } private var mainButton: some View { diff --git a/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift b/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift index bcaf90125..936b54327 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/RoomScreen.swift @@ -77,20 +77,26 @@ struct RoomScreen: View { @ViewBuilder private var pinnedItemsBanner: some View { - Group { + // Color.clear and clipped() are required for iOS 26 transparent nav bar + VStack(spacing: 0) { if context.viewState.shouldShowPinnedEventsBanner { PinnedItemsBannerView(state: context.viewState.pinnedEventsBannerState, onMainButtonTap: { context.send(viewAction: .tappedPinnedEventsBanner) }, onViewAllButtonTap: { context.send(viewAction: .viewAllPins) }) .transition(.move(edge: .top)) + } else { + Color.clear + .allowsHitTesting(false) } } .animation(.elementDefault, value: context.viewState.shouldShowPinnedEventsBanner) + .clipped() } @ViewBuilder private var knockRequestsBanner: some View { - Group { + // Color.clear and clipped() are required for iOS 26 transparent nav bar + VStack(spacing: 0) { if context.viewState.shouldSeeKnockRequests { KnockRequestsBannerView(requests: context.viewState.displayedKnockRequests, onDismiss: dismissKnockRequestsBanner, @@ -99,9 +105,13 @@ struct RoomScreen: View { mediaProvider: context.mediaProvider) .padding(.top, 16) .transition(.move(edge: .top)) + } else { + Color.clear + .allowsHitTesting(false) } } .animation(.elementDefault, value: context.viewState.shouldSeeKnockRequests) + .clipped() } private func dismissKnockRequestsBanner() {