From 863ee350d9feeff930982e57998e6af8c2979793 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 14 Mar 2023 18:33:29 +0100 Subject: [PATCH] Improve widget look --- LaunchWidget/LaunchWidget.swift | 1 - LaunchWidget/LaunchWidgetLiveActivity.swift | 4 +- LaunchWidget/SingleTimerView.swift | 50 +++++++++++++++++++-- 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/LaunchWidget/LaunchWidget.swift b/LaunchWidget/LaunchWidget.swift index 292d050..958740c 100644 --- a/LaunchWidget/LaunchWidget.swift +++ b/LaunchWidget/LaunchWidget.swift @@ -87,7 +87,6 @@ struct LaunchWidgetEntryView : View { case .systemSmall, .accessoryInline: if let timer = entry.timers.first { CountdownSimpleWidgetView(timer: timer) - .background(Image(timer.imageName)) } else { DefaultView() } diff --git a/LaunchWidget/LaunchWidgetLiveActivity.swift b/LaunchWidget/LaunchWidgetLiveActivity.swift index b111d14..25523fb 100644 --- a/LaunchWidget/LaunchWidgetLiveActivity.swift +++ b/LaunchWidget/LaunchWidgetLiveActivity.swift @@ -16,9 +16,9 @@ struct LiveActivityView: View { var body: some View { HStack { - Text(name) + Text(self.name) Spacer() - Text(endDate, style: .timer) + Text(self.endDate, style: .timer) .monospaced() }.padding() .font(.title) diff --git a/LaunchWidget/SingleTimerView.swift b/LaunchWidget/SingleTimerView.swift index acd02ae..2dd398e 100644 --- a/LaunchWidget/SingleTimerView.swift +++ b/LaunchWidget/SingleTimerView.swift @@ -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()) + } }