From a5ed91620f755a29b30c2a6b978e5a06711a968b Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Tue, 15 Sep 2026 23:57:59 +0200 Subject: [PATCH] Back the iPad sidebar switcher with its own pill --- Yattee/Views/Navigation/UnifiedTabView.swift | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Yattee/Views/Navigation/UnifiedTabView.swift b/Yattee/Views/Navigation/UnifiedTabView.swift index 5bea3938..aa62085d 100644 --- a/Yattee/Views/Navigation/UnifiedTabView.swift +++ b/Yattee/Views/Navigation/UnifiedTabView.swift @@ -73,9 +73,13 @@ struct UnifiedTabView: View { // is the one surface every tab shares, so the switcher lives here // rather than on each screen's toolbar. if DataContextSwitcherVisibility.showsPickers(in: appEnvironment) { + // The bottom bar pins over the list without a background of its + // own, so sidebar rows scrolled to the end show through the + // switcher. A pill of its own keeps what's beneath it blurred. DataContextSwitcherSettingsRow() - .padding(.horizontal, 8) - .padding(.vertical, 4) + .padding(.horizontal, 14) + .padding(.vertical, 10) + .sidebarBottomBarPill() } } .iOS26TabFeatures(shouldShowAccessory: shouldShowAccessory, settingsManager: appEnvironment?.settingsManager) @@ -315,6 +319,17 @@ struct UnifiedTabView: View { private var settingsManager: SettingsManager? { appEnvironment?.settingsManager } } +private extension View { + @ViewBuilder + func sidebarBottomBarPill() -> some View { + if #available(iOS 26, *) { + glassEffect(.regular, in: .capsule) + } else { + background(.regularMaterial, in: Capsule()) + } + } +} + // iOS 26.1+ Tab Features extension View { @ViewBuilder