fix(mac): use pointing hand cursor on tool links
This commit is contained in:
31
apps/macos/Sources/Clawdis/PointingHandCursor.swift
Normal file
31
apps/macos/Sources/Clawdis/PointingHandCursor.swift
Normal file
@@ -0,0 +1,31 @@
|
||||
import AppKit
|
||||
import SwiftUI
|
||||
|
||||
private struct PointingHandCursorModifier: ViewModifier {
|
||||
@State private var isHovering = false
|
||||
|
||||
func body(content: Content) -> some View {
|
||||
content
|
||||
.onHover { hovering in
|
||||
guard hovering != self.isHovering else { return }
|
||||
self.isHovering = hovering
|
||||
if hovering {
|
||||
NSCursor.pointingHand.push()
|
||||
} else {
|
||||
NSCursor.pop()
|
||||
}
|
||||
}
|
||||
.onDisappear {
|
||||
guard self.isHovering else { return }
|
||||
self.isHovering = false
|
||||
NSCursor.pop()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension View {
|
||||
func pointingHandCursor() -> some View {
|
||||
self.modifier(PointingHandCursorModifier())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,6 +295,7 @@ private struct ToolRow: View {
|
||||
}
|
||||
.foregroundColor(.accentColor)
|
||||
.onHover { self.linkHovering = $0 }
|
||||
.pointingHandCursor()
|
||||
Text(self.tool.description)
|
||||
.font(.subheadline)
|
||||
.foregroundStyle(.secondary)
|
||||
|
||||
Reference in New Issue
Block a user