tethering-hider/TetheringHider/Views/GlassModifiers.swift

46 lines
1.2 KiB
Swift
Raw Normal View History

2026-08-12 23:44:59 -05:00
import SwiftUI
struct GlassCardModifier: ViewModifier {
let tintColor: Color
func body(content: Content) -> some View {
if #available(macOS 26, *) {
content
.glassEffect(.regular.tint(tintColor.opacity(0.15)), in: .rect(cornerRadius: 16))
} else {
content
}
}
}
struct GlassButtonModifier: ViewModifier {
var isActive: Bool = false
func body(content: Content) -> some View {
if #available(macOS 26, *) {
content
.buttonStyle(.glassProminent)
} else {
content
.buttonStyle(.borderedProminent)
}
}
}
struct GlassInteractiveModifier: ViewModifier {
var cornerRadius: CGFloat = 20
var tintColor: Color = .clear
func body(content: Content) -> some View {
if #available(macOS 26, *) {
content
.glassEffect(
.regular.tint(tintColor.opacity(0.1)).interactive(),
in: .rect(cornerRadius: cornerRadius)
)
} else {
content
.background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: cornerRadius))
}
}
}