From 4fd69c02a3e7b581bb9229865336c315153f3b18 Mon Sep 17 00:00:00 2001 From: Dustin Mierau Date: Tue, 19 Dec 2023 20:38:13 -0800 Subject: Beginnings of a UI for macOS as well as some visual changes to iOS client. :) --- Hotline/Utility/VisualEffectView.swift | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Hotline/Utility/VisualEffectView.swift (limited to 'Hotline/Utility/VisualEffectView.swift') diff --git a/Hotline/Utility/VisualEffectView.swift b/Hotline/Utility/VisualEffectView.swift new file mode 100644 index 0000000..4f72a6e --- /dev/null +++ b/Hotline/Utility/VisualEffectView.swift @@ -0,0 +1,27 @@ +import SwiftUI + +public struct VisualEffectView: NSViewRepresentable { + let material: NSVisualEffectView.Material + let blendingMode: NSVisualEffectView.BlendingMode + + public init( + material: NSVisualEffectView.Material = .contentBackground, + blendingMode: NSVisualEffectView.BlendingMode = .withinWindow + ) { + self.material = material + self.blendingMode = blendingMode + } + + public func makeNSView(context: Context) -> NSVisualEffectView { + let visualEffectView = NSVisualEffectView() + visualEffectView.material = material + visualEffectView.blendingMode = blendingMode + visualEffectView.state = NSVisualEffectView.State.active + return visualEffectView + } + + public func updateNSView(_ visualEffectView: NSVisualEffectView, context: Context) { + visualEffectView.material = material + visualEffectView.blendingMode = blendingMode + } +} -- cgit