|
|
|
|
@ -9,6 +9,43 @@ import SwiftUI |
|
|
|
|
import WidgetKit |
|
|
|
|
import CoreData |
|
|
|
|
|
|
|
|
|
struct GradientView: View { |
|
|
|
|
|
|
|
|
|
private static let backgroundGradientColors: [Color] = [.red, .purple] |
|
|
|
|
|
|
|
|
|
var body: some View { |
|
|
|
|
ZStack { |
|
|
|
|
GeometryReader { reader in |
|
|
|
|
let gradient: Gradient = Gradient(colors: GradientView.backgroundGradientColors) |
|
|
|
|
RadialGradient(gradient: gradient, |
|
|
|
|
center: .init(x: 0.0, y: 0.0), |
|
|
|
|
startRadius: 0, endRadius: reader.size.width) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
extension View { |
|
|
|
|
|
|
|
|
|
var linearGradient: LinearGradient { |
|
|
|
|
|
|
|
|
|
LinearGradient(colors: [Color(red: 255, green: 128, blue: 223), Color(red: 255, green: 180, blue: 78)], |
|
|
|
|
startPoint: .topLeading, endPoint: .bottomTrailing) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var radialGradient: some View { |
|
|
|
|
RadialGradient(colors: [Color(red: 255, green: 128, blue: 223), |
|
|
|
|
Color(red: 255, green: 86, blue: 61), |
|
|
|
|
Color(red: 255, green: 180, blue: 78)], |
|
|
|
|
center: .bottomLeading, |
|
|
|
|
startRadius: Angle.degrees(0).degrees, |
|
|
|
|
endRadius: Angle.degrees(90).degrees) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
struct SingleTimerView: View { |
|
|
|
|
|
|
|
|
|
@Environment(\.widgetFamily) var family: WidgetFamily |
|
|
|
|
@ -30,7 +67,8 @@ struct SingleTimerView: View { |
|
|
|
|
} |
|
|
|
|
.padding() |
|
|
|
|
.monospaced() |
|
|
|
|
.foregroundColor(Color.white) |
|
|
|
|
.foregroundColor(.white) |
|
|
|
|
.background(GradientView()) |
|
|
|
|
.font(self.font) |
|
|
|
|
.widgetURL(timer.url) |
|
|
|
|
} |
|
|
|
|
@ -134,16 +172,20 @@ struct MultiCountdownView: View { |
|
|
|
|
} |
|
|
|
|
Spacer() |
|
|
|
|
} |
|
|
|
|
.padding(.horizontal) |
|
|
|
|
.padding(.horizontal, 8.0) |
|
|
|
|
.font(.callout) |
|
|
|
|
.background(Image(timer.imageName)) |
|
|
|
|
.background(Color.white.opacity(0.2)) |
|
|
|
|
// .background(Image(timer.imageName)) |
|
|
|
|
.foregroundColor(.white) |
|
|
|
|
.monospaced() |
|
|
|
|
.cornerRadius(16.0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}.padding() |
|
|
|
|
} |
|
|
|
|
.padding() |
|
|
|
|
.background(GradientView()) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|