native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
1.4 kB · 45 lines
Swift
12345678910111213141516171819202122232425262728293031323334353637383940414243444546import CoreImage.CIFilterBuiltinsimport SwiftUI
struct MirrorPairingQRCode: View { let address: String let port: String let code: String let expires: Date
var body: some View { if let image = image { Image(decorative: image, scale: 1) .interpolation(.none) .resizable() .scaledToFit() .frame(width: 180, height: 180) .padding(12) // A fixed light quiet zone keeps the code readable in either appearance. .background(.white) .accessibilityLabel("Pairing QR code") .accessibilityIdentifier("remote-mirror-pairing-qr") } else { Text("Unable to generate the QR code. Use the address and pairing code above.") .font(.caption).foregroundStyle(.secondary) } }
private var image: CGImage? { guard let number = UInt16(port), let payload = try? MirrorPairingPayload( address: address, port: number, code: code, expires: expires), let text = try? payload.encoded() else { return nil } return Self.image(for: text) }
static func image(for text: String) -> CGImage? { let filter = CIFilter.qrCodeGenerator() filter.message = Data(text.utf8) filter.correctionLevel = "M" guard let output = filter.outputImage else { return nil } let scaled = output.transformed(by: CGAffineTransform(scaleX: 6, y: 6)) return CIContext().createCGImage(scaled, from: scaled.extent) }}