From 6870465fa005b211921b55f6d965da2493f557a3 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Sun, 12 Jul 2026 12:52:40 -0700 Subject: [PATCH] use native Liquid Glass for sidebar footer buttons The footer circle buttons faked glass with a tertiarySystemBackground circle and manual shadow under buttonStyle(.plain), which suppressed all press feedback. Replace with glassEffect(.regular.interactive()) in a circle at 44pt to match native toolbar button metrics, wrapped in a GlassEffectContainer. --- BitDream/Views/iOS/iOSSidebarView.swift | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/BitDream/Views/iOS/iOSSidebarView.swift b/BitDream/Views/iOS/iOSSidebarView.swift index 8314cee..714d826 100644 --- a/BitDream/Views/iOS/iOSSidebarView.swift +++ b/BitDream/Views/iOS/iOSSidebarView.swift @@ -68,12 +68,14 @@ struct iOSSidebarView: View { } .contentMargins(.bottom, 60, for: .scrollContent) .overlay(alignment: .bottom) { - HStack { - FooterCircleButton(systemImage: "server.rack", label: "Manage Servers", action: onManageServers) + GlassEffectContainer { + HStack { + FooterCircleButton(systemImage: "server.rack", label: "Manage Servers", action: onManageServers) - Spacer() + Spacer() - FooterCircleButton(systemImage: "gear", label: "Settings", action: onOpenSettings) + FooterCircleButton(systemImage: "gear", label: "Settings", action: onOpenSettings) + } } .padding(.horizontal, 16) } @@ -101,17 +103,11 @@ private struct FooterCircleButton: View { Button(action: action) { Image(systemName: systemImage) .font(.title3) - .foregroundStyle(.primary) .frame(width: 44, height: 44) - .background( - // Tertiary stays white in light mode but elevates to gray in dark, - // where shadows alone can't separate the circle from the sidebar - Circle() - .fill(Color(.tertiarySystemBackground)) - .shadow(color: .black.opacity(0.18), radius: 8, y: 2) - ) + .contentShape(.circle) } .buttonStyle(.plain) + .glassEffect(.regular.interactive(), in: .circle) .accessibilityLabel(label) } }