diff --git a/NucleicRemote/NucleicRemote/Views/Theme.swift b/NucleicRemote/NucleicRemote/Views/Theme.swift index c6bcce3..d6a3285 100644 --- a/NucleicRemote/NucleicRemote/Views/Theme.swift +++ b/NucleicRemote/NucleicRemote/Views/Theme.swift @@ -354,6 +354,22 @@ struct GlassSurface: ViewModifier { } } +/// A circular Liquid Glass backing for a floating round control (the New-chat FAB). Real +/// interactive `glassEffect` on iOS 26; an ultra-thin material disc with a hairline edge and a +/// soft shadow on earlier systems so it still lifts off the list. +struct GlassCircle: ViewModifier { + func body(content: Content) -> some View { + if #available(iOS 26.0, *) { + content.glassEffect(.regular.interactive(), in: .circle) + } else { + content + .background(.ultraThinMaterial, in: .circle) + .overlay(Circle().strokeBorder(Color.primary.opacity(0.08), lineWidth: 1)) + .shadow(color: .black.opacity(0.2), radius: 6, y: 2) + } + } +} + /// A lifted card surface with a hairline border — the mobile echo of `AppTheme.surface`. struct CardBackground: ViewModifier { var padding: CGFloat = 14