diff --git a/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json index 23058801..030d8d65 100644 --- a/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "icon.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" @@ -12,6 +13,7 @@ "value" : "dark" } ], + "filename" : "icon-dark.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" @@ -23,6 +25,7 @@ "value" : "tinted" } ], + "filename" : "icon 1.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon 1.png b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon 1.png new file mode 100644 index 00000000..0eeb8c11 Binary files /dev/null and b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon 1.png differ diff --git a/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon-dark.png b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon-dark.png new file mode 100644 index 00000000..e8c97236 Binary files /dev/null and b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon-dark.png differ diff --git a/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon.png b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon.png new file mode 100644 index 00000000..0eeb8c11 Binary files /dev/null and b/ios/SolianWidgetExtension/Assets.xcassets/AppIcon.appiconset/icon.png differ diff --git a/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/Contents.json b/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/Contents.json new file mode 100644 index 00000000..ddcd426a --- /dev/null +++ b/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "icon-dark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/icon-dark.png b/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/icon-dark.png new file mode 100644 index 00000000..e8c97236 Binary files /dev/null and b/ios/SolianWidgetExtension/Assets.xcassets/CloudLambDark.imageset/icon-dark.png differ diff --git a/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/Contents.json b/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/Contents.json new file mode 100644 index 00000000..2945b36b --- /dev/null +++ b/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/icon.png b/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/icon.png new file mode 100644 index 00000000..0eeb8c11 Binary files /dev/null and b/ios/SolianWidgetExtension/Assets.xcassets/CloudyLamb.imageset/icon.png differ diff --git a/ios/SolianWidgetExtension/SolianCheckInWidget.swift b/ios/SolianWidgetExtension/SolianCheckInWidget.swift index a6230f49..75a1044e 100644 --- a/ios/SolianWidgetExtension/SolianCheckInWidget.swift +++ b/ios/SolianWidgetExtension/SolianCheckInWidget.swift @@ -610,8 +610,8 @@ struct CheckInWidgetEntryView: View { private func NotCheckedInView(notableDay: NotableDay?) -> some View { Link(destination: URL(string: "solian://dashboard")!) { VStack(alignment: .leading, spacing: isAccessory ? 2 : 8) { - HStack(spacing: 4) { - Image(systemName: "flame") + HStack(spacing: 8) { + Image(systemName: "flame.fill") .foregroundColor(.secondary) .font(isAccessory ? .caption : .title3) Text(NSLocalizedString("checkIn", comment: "Check In")) @@ -696,13 +696,45 @@ struct CheckInWidgetEntryView: View { struct SolianCheckInWidget: Widget { let kind: String = "SolianCheckInWidget" - + var body: some WidgetConfiguration { StaticConfiguration(kind: kind, provider: Provider()) { entry in + @Environment(\.colorScheme) var colorScheme if #available(iOS 17.0, *) { - CheckInWidgetEntryView(entry: entry) - .containerBackground(.fill.tertiary, for: .widget) - .padding(.vertical, 8) + ZStack { + CheckInWidgetEntryView(entry: entry) + + if entry.result != nil || entry.notableDay != nil { + GeometryReader { geometry in + Image(colorScheme == .dark ? "CloudyLambDark" : "CloudyLamb") + .resizable() + .aspectRatio(contentMode: .fit) + .frame( + width: geometry.size.width * 0.9, + height: geometry.size.width * 0.9 + ) + .opacity(0.18) + .mask( + LinearGradient( + gradient: Gradient(colors: [ + Color.white, + Color.white, + Color.clear + ]), + startPoint: .topLeading, + endPoint: .bottomTrailing + ) + ) + .position( + x: geometry.size.width * 0.9, + y: 20 + ) + } + .allowsHitTesting(false) + } + } + .containerBackground(.fill.tertiary, for: .widget) + .padding(.vertical, 8) } else { CheckInWidgetEntryView(entry: entry) .padding()