diff --git a/macos/Sources/Features/Secure Input/SecureInputOverlay.swift b/macos/Sources/Features/Secure Input/SecureInputOverlay.swift index 717eeb90c..96f309de5 100644 --- a/macos/Sources/Features/Secure Input/SecureInputOverlay.swift +++ b/macos/Sources/Features/Secure Input/SecureInputOverlay.swift @@ -39,6 +39,7 @@ struct SecureInputOverlay: View { .onTapGesture { isPopover = true } + .backport.pointerStyle(.link) .padding(.top, 10) .padding(.trailing, 10) .popover(isPresented: $isPopover, arrowEdge: .bottom) { diff --git a/macos/Sources/Helpers/Backport.swift b/macos/Sources/Helpers/Backport.swift index 1af5e6fe1..000251e49 100644 --- a/macos/Sources/Helpers/Backport.swift +++ b/macos/Sources/Helpers/Backport.swift @@ -23,3 +23,28 @@ extension Backport where Content: Scene { } } } + +extension Backport where Content: View { + func pointerStyle(_ style: BackportPointerStyle) -> some View { + if #available(macOS 15, *) { + return content.pointerStyle(style.official) + } else { + return content + } + } + + enum BackportPointerStyle { + case grabIdle + case grabActive + case link + + @available(macOS 15, *) + var official: PointerStyle { + switch self { + case .grabIdle: return .grabIdle + case .grabActive: return .grabActive + case .link: return .link + } + } + } +}