Toolbar style (#606)

This commit is contained in:
Max Goedjen 2025-08-17 12:44:57 -05:00 committed by GitHub
parent 0e6b218f1f
commit ed2678a615
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 42 additions and 16 deletions

View File

@ -45,8 +45,14 @@ struct ContentView: View {
extension ContentView {
func toolbarItem(_ view: some View, id: String) -> ToolbarItem<String, some View> {
@ToolbarContentBuilder
func toolbarItem(_ view: some View, id: String) -> some ToolbarContent {
if #available(macOS 26.0, *) {
ToolbarItem(id: id) { view }
.sharedBackgroundVisibility(.hidden)
} else {
ToolbarItem(id: id) { view }
}
}
var needsSetup: Bool {

View File

@ -17,9 +17,28 @@ struct ToolbarButtonStyle: ButtonStyle {
self.darkColor = darkColor
}
@available(macOS 26.0, *)
private var glassTint: Color {
if !hovering {
colorScheme == .light ? lightColor : darkColor
} else {
colorScheme == .light ? lightColor.exposureAdjust(1) : darkColor.exposureAdjust(1)
}
}
func makeBody(configuration: Configuration) -> some View {
configuration.label
if #available(macOS 26.0, *) {
configuration
.label
.foregroundColor(.white)
.padding(EdgeInsets(top: 6, leading: 8, bottom: 6, trailing: 8))
.glassEffect(.regular.tint(glassTint), in: .capsule)
.onHover { hovering in
self.hovering = hovering
}
} else {
configuration
.label
.background(colorScheme == .light ? lightColor : darkColor)
.foregroundColor(.white)
.clipShape(RoundedRectangle(cornerRadius: 5))
@ -34,4 +53,5 @@ struct ToolbarButtonStyle: ButtonStyle {
}
}
}
}
}