polscm32 2 роки тому
батько
коміт
3ac2c96854
1 змінених файлів з 66 додано та 0 видалено
  1. 66 0
      LiveActivity/WidgetBobble 2.swift

+ 66 - 0
LiveActivity/WidgetBobble 2.swift

@@ -0,0 +1,66 @@
+import SwiftUI
+
+struct WidgetBobble: View {
+    @Environment(\.colorScheme) var colorScheme
+
+    let gradient: AngularGradient
+    let color: Color
+
+    var body: some View {
+        HStack(alignment: .center) {
+            ZStack {
+                Group {
+                    CircleShapeWidget(gradient: gradient)
+                    TriangleShapeWidget(color: color)
+                }
+                CircleShapeWidget(gradient: gradient)
+            }
+        }
+    }
+}
+
+struct CircleShapeWidget: View {
+    @Environment(\.colorScheme) var colorScheme
+
+    let gradient: AngularGradient
+
+    var body: some View {
+//        let colorBackground: Color = colorScheme == .dark ? Color(
+//            red: 0.05490196078,
+//            green: 0.05490196078,
+//            blue: 0.05490196078
+//        ) : .white
+
+        Circle()
+            .stroke(gradient, lineWidth: 10)
+            .background(Circle().fill(.clear))
+            .frame(width: 130, height: 130)
+    }
+}
+
+struct TriangleShapeWidget: View {
+    let color: Color
+
+    var body: some View {
+        TriangleWidget()
+            .fill(color)
+            .frame(width: 35, height: 35)
+            .rotationEffect(.degrees(90))
+            .offset(x: 78)
+    }
+}
+
+struct TriangleWidget: Shape {
+    func path(in rect: CGRect) -> Path {
+        var path = Path()
+
+        let cornerRadius: CGFloat = 2
+
+        path.move(to: CGPoint(x: rect.midX, y: rect.minY))
+        path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY - cornerRadius))
+        path.addQuadCurve(to: CGPoint(x: rect.minX, y: rect.maxY - cornerRadius), control: CGPoint(x: rect.midX, y: rect.maxY))
+        path.closeSubpath()
+
+        return path
+    }
+}