BugFix: remove sharp corners

This commit is contained in:
Hariharan Mudaliar 2026-03-29 16:06:23 +05:30
commit aee19c90d6
No known key found for this signature in database
GPG key ID: 025583EB0BE5640E

View file

@ -20,6 +20,16 @@ import AppKit
import SwiftUI import SwiftUI
import Defaults import Defaults
private func applyLocalSendPanelCornerMask(_ view: NSView, radius: CGFloat) {
view.wantsLayer = true
view.layer?.masksToBounds = true
view.layer?.cornerRadius = radius
view.layer?.backgroundColor = NSColor.clear.cgColor
if #available(macOS 13.0, *) {
view.layer?.cornerCurve = .continuous
}
}
@MainActor @MainActor
final class LocalSendDevicePickerWindowManager { final class LocalSendDevicePickerWindowManager {
static let shared = LocalSendDevicePickerWindowManager() static let shared = LocalSendDevicePickerWindowManager()
@ -34,6 +44,7 @@ final class LocalSendDevicePickerWindowManager {
onDeviceSelected: @escaping (LocalSendDeviceInfo) -> Void, onDeviceSelected: @escaping (LocalSendDeviceInfo) -> Void,
onDismiss: @escaping () -> Void onDismiss: @escaping () -> Void
) { ) {
let cornerRadius: CGFloat = 24
self.onDeviceSelected = onDeviceSelected self.onDeviceSelected = onDeviceSelected
self.onDismiss = onDismiss self.onDismiss = onDismiss
@ -50,7 +61,7 @@ final class LocalSendDevicePickerWindowManager {
if let existingWindow = window { if let existingWindow = window {
let hostingView = NSHostingView(rootView: pickerView) let hostingView = NSHostingView(rootView: pickerView)
hostingView.layer?.backgroundColor = .clear applyLocalSendPanelCornerMask(hostingView, radius: cornerRadius)
existingWindow.contentView = hostingView existingWindow.contentView = hostingView
existingWindow.makeKeyAndOrderFront(nil) existingWindow.makeKeyAndOrderFront(nil)
return return
@ -81,9 +92,7 @@ final class LocalSendDevicePickerWindowManager {
pickerView pickerView
.background(Color.clear) .background(Color.clear)
) )
hostingView.wantsLayer = true applyLocalSendPanelCornerMask(hostingView, radius: cornerRadius)
hostingView.layer?.backgroundColor = .clear
hostingView.layer?.isOpaque = false
newWindow.contentView = hostingView newWindow.contentView = hostingView
newWindow.isMovableByWindowBackground = true newWindow.isMovableByWindowBackground = true