summaryrefslogtreecommitdiff
path: root/Jel/Extensions/ViewExtensions.swift
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2024-02-21 12:20:24 -0500
committerShav Kinderlehrer <[email protected]>2024-02-21 12:20:24 -0500
commitce0be87c7f39e9763d835a685cb65eb38c7e68c3 (patch)
treea548887701d035f40923de1838317d213a8a2532 /Jel/Extensions/ViewExtensions.swift
parent53b079259556532569af3af0e3b15aa887adbfd4 (diff)
downloadjel-ce0be87c7f39e9763d835a685cb65eb38c7e68c3.tar.gz
jel-ce0be87c7f39e9763d835a685cb65eb38c7e68c3.zip
Cleanup + change SignInView to be a sheet
Diffstat (limited to 'Jel/Extensions/ViewExtensions.swift')
-rw-r--r--Jel/Extensions/ViewExtensions.swift31
1 files changed, 31 insertions, 0 deletions
diff --git a/Jel/Extensions/ViewExtensions.swift b/Jel/Extensions/ViewExtensions.swift
new file mode 100644
index 0000000..7f54865
--- /dev/null
+++ b/Jel/Extensions/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)
+ }
+}