summaryrefslogtreecommitdiff
path: root/Jel/Models/ViewExtensions.swift
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2024-01-09 12:32:06 -0500
committerShav Kinderlehrer <[email protected]>2024-01-09 12:32:06 -0500
commit6edc39791a577a500c92f32361cf1e7d2590ec37 (patch)
tree776de4bae461836f8cba5ff673fc4ccfabd6df55 /Jel/Models/ViewExtensions.swift
parent4ec0f962b2a175ae5f1e3e55a720f9534618a4ad (diff)
downloadjel-6edc39791a577a500c92f32361cf1e7d2590ec37.tar.gz
jel-6edc39791a577a500c92f32361cf1e7d2590ec37.zip
Implement ItemPeopleView
Diffstat (limited to 'Jel/Models/ViewExtensions.swift')
-rw-r--r--Jel/Models/ViewExtensions.swift31
1 files changed, 31 insertions, 0 deletions
diff --git a/Jel/Models/ViewExtensions.swift b/Jel/Models/ViewExtensions.swift
new file mode 100644
index 0000000..7f54865
--- /dev/null
+++ b/Jel/Models/ViewExtensions.swift
@@ -0,0 +1,31 @@
+//
+// ViewExtensions.swift
+// Jel
+//
+// Created by zerocool on 12/25/23.
+//
+
+import SwiftUI
+
+extension View {
+ /// Applies the given transform if the given condition evaluates to `true`.
+ @ViewBuilder func `if`<Content: View>(_ condition: @autoclosure () -> Bool, transform: (Self) -> Content) -> some View {
+ if condition() {
+ transform(self)
+ } else {
+ self
+ }
+ }
+}
+
+extension View {
+ /// Applies an inverse mask to the given view
+ public func inverseMask<Content: View>(_ mask: Content) -> some View {
+ let inverseMask = mask
+ .foregroundStyle(.black)
+ .background(.white)
+ .compositingGroup()
+ .luminanceToAlpha()
+ return self.mask(inverseMask)
+ }
+}