Improve widget look

main
Laurent 3 years ago
parent f78c2de4a4
commit 863ee350d9
  1. 1
      LaunchWidget/LaunchWidget.swift
  2. 4
      LaunchWidget/LaunchWidgetLiveActivity.swift
  3. 50
      LaunchWidget/SingleTimerView.swift

@ -87,7 +87,6 @@ struct LaunchWidgetEntryView : View {
case .systemSmall, .accessoryInline: case .systemSmall, .accessoryInline:
if let timer = entry.timers.first { if let timer = entry.timers.first {
CountdownSimpleWidgetView(timer: timer) CountdownSimpleWidgetView(timer: timer)
.background(Image(timer.imageName))
} else { } else {
DefaultView() DefaultView()
} }

@ -16,9 +16,9 @@ struct LiveActivityView: View {
var body: some View { var body: some View {
HStack { HStack {
Text(name) Text(self.name)
Spacer() Spacer()
Text(endDate, style: .timer) Text(self.endDate, style: .timer)
.monospaced() .monospaced()
}.padding() }.padding()
.font(.title) .font(.title)

@ -9,6 +9,43 @@ import SwiftUI
import WidgetKit import WidgetKit
import CoreData 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 { struct SingleTimerView: View {
@Environment(\.widgetFamily) var family: WidgetFamily @Environment(\.widgetFamily) var family: WidgetFamily
@ -30,7 +67,8 @@ struct SingleTimerView: View {
} }
.padding() .padding()
.monospaced() .monospaced()
.foregroundColor(Color.white) .foregroundColor(.white)
.background(GradientView())
.font(self.font) .font(self.font)
.widgetURL(timer.url) .widgetURL(timer.url)
} }
@ -134,16 +172,20 @@ struct MultiCountdownView: View {
} }
Spacer() Spacer()
} }
.padding(.horizontal) .padding(.horizontal, 8.0)
.font(.callout) .font(.callout)
.background(Image(timer.imageName)) .background(Color.white.opacity(0.2))
// .background(Image(timer.imageName))
.foregroundColor(.white) .foregroundColor(.white)
.monospaced() .monospaced()
.cornerRadius(16.0) .cornerRadius(16.0)
} }
} }
}.padding() }
.padding()
.background(GradientView())
} }
} }

Loading…
Cancel
Save