Skip to content

Commit

Permalink
watchOS tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Eden committed Jul 2, 2024
1 parent 59900eb commit 510b0bb
Show file tree
Hide file tree
Showing 10 changed files with 78 additions and 58 deletions.
3 changes: 3 additions & 0 deletions Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -1047,6 +1047,7 @@
}
},
"Location Permission" : {
"extractionState" : "stale",
"localizations" : {
"it" : {
"stringUnit" : {
Expand Down Expand Up @@ -1552,6 +1553,7 @@
}
},
"Set Up Location Access" : {
"extractionState" : "stale",
"localizations" : {
"it" : {
"stringUnit" : {
Expand All @@ -1562,6 +1564,7 @@
}
},
"Set up location access to see sunrise and sunset times for your current location in the app, widgets, and notifications" : {
"extractionState" : "stale",
"localizations" : {
"it" : {
"stringUnit" : {
Expand Down
12 changes: 8 additions & 4 deletions Solstice.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@
716BE0502C2E752F004DDCBC /* DeepLinkResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716BE04F2C2E752F004DDCBC /* DeepLinkResolver.swift */; };
716BE0512C2E752F004DDCBC /* DeepLinkResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716BE04F2C2E752F004DDCBC /* DeepLinkResolver.swift */; };
716BE0522C2E7E53004DDCBC /* LocationSearchService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 719846A728E991FA00E866CE /* LocationSearchService.swift */; };
71789AA32C32DBF8002B8A33 /* LocationPermissionScreenerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AEB7BA29AE3F0D00A7952D /* LocationPermissionScreenerView.swift */; };
71789AA52C32DCC7002B8A33 /* View+MaterialListRowBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71789AA42C32DCC7002B8A33 /* View+MaterialListRowBackground.swift */; };
71789AA62C32DCC7002B8A33 /* View+MaterialListRowBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71789AA42C32DCC7002B8A33 /* View+MaterialListRowBackground.swift */; };
717F8BB729A8CAC20015ECCB /* NotificationSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717F8BB629A8CAC20015ECCB /* NotificationSettings.swift */; };
717F8BB929A8CAFC0015ECCB /* AppStorage++.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717F8BB829A8CAFC0015ECCB /* AppStorage++.swift */; };
717F8BBC29A908E30015ECCB /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717F8BBB29A908E30015ECCB /* SettingsView.swift */; };
Expand Down Expand Up @@ -218,7 +221,6 @@
71AEB7B229AE0A9B00A7952D /* AnyLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AEB7B029AE0A9B00A7952D /* AnyLocation.swift */; };
71AEB7B329AE0A9B00A7952D /* AnyLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AEB7B029AE0A9B00A7952D /* AnyLocation.swift */; };
71AEB7BB29AE3F0D00A7952D /* LocationPermissionScreenerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AEB7BA29AE3F0D00A7952D /* LocationPermissionScreenerView.swift */; };
71AEB7BE29AE475300A7952D /* LocationPermissionScreenerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AEB7BD29AE475300A7952D /* LocationPermissionScreenerView.swift */; };
71BD5E3B29A7778900E40C01 /* WidgetLocationHeadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BD5E3A29A7778900E40C01 /* WidgetLocationHeadingView.swift */; };
71BD5E4029A785FE00E40C01 /* NotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BD5E3F29A785FE00E40C01 /* NotificationManager.swift */; };
71C8F4CE29A38752009A86B4 /* SolsticeCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C8F4CD29A38752009A86B4 /* SolsticeCalculator.swift */; };
Expand Down Expand Up @@ -328,6 +330,7 @@
71691B8A2C2E81DD00E4ED96 /* SolarSystemMiniMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SolarSystemMiniMap.swift; sourceTree = "<group>"; };
71691B9E2C2E827200E4ED96 /* RealityKitContent */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = RealityKitContent; sourceTree = "<group>"; };
716BE04F2C2E752F004DDCBC /* DeepLinkResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeepLinkResolver.swift; sourceTree = "<group>"; };
71789AA42C32DCC7002B8A33 /* View+MaterialListRowBackground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+MaterialListRowBackground.swift"; sourceTree = "<group>"; };
717F8BB629A8CAC20015ECCB /* NotificationSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSettings.swift; sourceTree = "<group>"; };
717F8BB829A8CAFC0015ECCB /* AppStorage++.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppStorage++.swift"; sourceTree = "<group>"; };
717F8BBB29A908E30015ECCB /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -385,7 +388,6 @@
71A9A54F2AB82D6200C3A38C /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
71AEB7B029AE0A9B00A7952D /* AnyLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyLocation.swift; sourceTree = "<group>"; };
71AEB7BA29AE3F0D00A7952D /* LocationPermissionScreenerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationPermissionScreenerView.swift; sourceTree = "<group>"; };
71AEB7BD29AE475300A7952D /* LocationPermissionScreenerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationPermissionScreenerView.swift; sourceTree = "<group>"; };
71B3C7C029A1422A0041BAB6 /* Solstice.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Solstice.entitlements; sourceTree = "<group>"; };
71BD5E3A29A7778900E40C01 /* WidgetLocationHeadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetLocationHeadingView.swift; sourceTree = "<group>"; };
71BD5E3F29A785FE00E40C01 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -655,6 +657,7 @@
7188714229DC8C60001A4327 /* View+RectangularEdgeMask.swift */,
7187147429DDE6B600EADF03 /* CLLocationCoordinate2D++.swift */,
719465142C294B42008408C0 /* Color+Mix.swift */,
71789AA42C32DCC7002B8A33 /* View+MaterialListRowBackground.swift */,
);
path = Extensions;
sourceTree = "<group>";
Expand Down Expand Up @@ -710,7 +713,6 @@
713F7FF529BE054400BEA156 /* Solstice.entitlements */,
71DB52AB29AB8BED00D62BB7 /* Info.plist */,
71DB52AD29ABD19B00D62BB7 /* ContentView.swift */,
71AEB7BD29AE475300A7952D /* LocationPermissionScreenerView.swift */,
);
path = watchOS;
sourceTree = "<group>";
Expand Down Expand Up @@ -1054,6 +1056,7 @@
7195128129B713EC009D282F /* AdaptiveLabeledContent.swift in Sources */,
71DAB3D229CD862A00E30148 /* EarthNode.swift in Sources */,
71EAB72529C3479F00FA043F /* TimeMachineDeactivatorView.swift in Sources */,
71789AA52C32DCC7002B8A33 /* View+MaterialListRowBackground.swift in Sources */,
7198468728E5895E00E866CE /* ContentView.swift in Sources */,
71A029B22C3052BC00E19819 /* EquinoxAndSolsticeDescriptions.swift in Sources */,
713F7FF929BE843700BEA156 /* AnnualOverview.swift in Sources */,
Expand Down Expand Up @@ -1116,6 +1119,7 @@
files = (
719F927829ACD21A00C06921 /* Solar++.swift in Sources */,
719F928129ACD22100C06921 /* SkyGradient.swift in Sources */,
71789AA62C32DCC7002B8A33 /* View+MaterialListRowBackground.swift in Sources */,
71908ACE2AC95A5500C7B610 /* StringBuilder.swift in Sources */,
7195128D29BC7D13009D282F /* View+ConditionalModifier.swift in Sources */,
7187147629DDE6B700EADF03 /* CLLocationCoordinate2D++.swift in Sources */,
Expand All @@ -1130,7 +1134,6 @@
719F927529ACD21300C06921 /* Persistence.swift in Sources */,
716BE0522C2E7E53004DDCBC /* LocationSearchService.swift in Sources */,
719F927429ACD21300C06921 /* SolsticeApp.swift in Sources */,
71AEB7BE29AE475300A7952D /* LocationPermissionScreenerView.swift in Sources */,
713F7FF629BE091D00BEA156 /* TimeMachineView.swift in Sources */,
719F927029ACD21300C06921 /* DetailView.swift in Sources */,
719F928729ACD28500C06921 /* Solstice.xcdatamodeld in Sources */,
Expand All @@ -1150,6 +1153,7 @@
719F927D29ACD22100C06921 /* CurrentLocation.swift in Sources */,
719F928029ACD22100C06921 /* TimeMachine.swift in Sources */,
713F800029BE88E800BEA156 /* DaylightSummaryTitle.swift in Sources */,
71789AA32C32DBF8002B8A33 /* LocationPermissionScreenerView.swift in Sources */,
719F927A29ACD21A00C06921 /* AppStorage++.swift in Sources */,
719F927629ACD21A00C06921 /* Solar+SolarEvent.swift in Sources */,
719F926E29ACD21300C06921 /* AnnualDaylightChart.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"originHash" : "5b0780416e41af0f2891f4ac3b2b0b76eb25448830bd710f6a3899d37c64ff27",
"pins" : [
{
"identity" : "solar",
Expand All @@ -11,5 +10,5 @@
}
}
],
"version" : 3
"version" : 2
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,22 @@
uuid = "694A27F2-72FC-45F0-A4E5-28318A89FE23"
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D80AA32B-93C1-4B79-8BCD-7882590E25ED"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Solstice/Helpers/DeepLinkResolver.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "58"
endingLineNumber = "58"
landmarkName = "body(content:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
1 change: 1 addition & 0 deletions Solstice/Detail View/AnnualOverview.swift
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ struct AnnualOverview<Location: AnyLocation>: View {
#endif
}
.buttonStyle(.plain)
.materialListRowBackground()
}
}

Expand Down
1 change: 1 addition & 0 deletions Solstice/Detail View/DailyOverview.swift
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ struct DailyOverview<Location: AnyLocation>: View {
.environment(\.timeZone, location.timeZone)
.animation(.default, value: timeMachine.date)
.contentTransition(.numericText())
.materialListRowBackground()
} header: {
if location.timeZoneIdentifier != localTimeZone.identifier,
!(location is CurrentLocation) {
Expand Down
14 changes: 3 additions & 11 deletions Solstice/Detail View/DetailView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,10 @@ struct DetailView<Location: ObservableLocation>: View {
}

AnnualOverview(location: location)
#if os(watchOS)
.padding(.vertical, 8)
#endif
}
#if os(watchOS)
.modify { content in
if #available(watchOS 10, *) {
content
.listRowBackground(Color.clear.background(.regularMaterial, in: .buttonBorder))
} else {
content
.listRowBackground(Color.clear.background(.background, in: ButtonBorderShape.roundedRectangle))
}
}
#endif
.formStyle(.grouped)
.navigationTitle(navBarTitleText)
.toolbar {
Expand Down
41 changes: 41 additions & 0 deletions Solstice/Extensions/View+MaterialListRowBackground.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
//
// View+MaterialListRowBackground.swift
// Solstice
//
// Created by Dan Eden on 01/07/2024.
//

import SwiftUI

struct MateriaListRowBackground: ViewModifier {
func body(content: Content) -> some View {
content
#if os(watchOS)
.modify { content in
if #available(watchOS 10, *) {
content
.listRowBackground(
Color.clear.background(
.ultraThinMaterial,
in: RoundedRectangle(cornerRadius: 12)
)
)
} else {
content
.listRowBackground(
Color.clear.background(
.background,
in: RoundedRectangle(cornerRadius: 12)
)
)
}
}
#endif
}
}

extension View {
func materialListRowBackground() -> some View {
return self.modifier(MateriaListRowBackground())
}
}
4 changes: 2 additions & 2 deletions Widget/Helpers/SolsticeWidgetTimelineProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ extension SolsticeWidgetTimelineProvider {
}

func getSnapshot(for configuration: ConfigurationIntent, in context: Context, completion: @escaping (SolsticeWidgetTimelineEntry) -> Void) {
let isRealLocation = configuration.locationType == .currentLocation
let isRealLocation = (configuration.locationType == .currentLocation) || (configuration.locationType == .unknown)

func processPlacemark(_ placemark: CLPlacemark) {
let location = getLocation(for: placemark, isRealLocation: isRealLocation)
Expand Down Expand Up @@ -134,7 +134,7 @@ extension SolsticeWidgetTimelineProvider {

func getTimeline(for configuration: Intent, in context: TimelineProviderContext, completion: @escaping (Timeline<Entry>) -> Void) {
var entries: [Entry] = []
let isRealLocation = configuration.locationType == .currentLocation
let isRealLocation = (configuration.locationType == .currentLocation) || (configuration.locationType == .unknown)

func processPlacemark(_ placemark: CLPlacemark) {
let currentDate = Date()
Expand Down
39 changes: 0 additions & 39 deletions watchOS/LocationPermissionScreenerView.swift

This file was deleted.

0 comments on commit 510b0bb

Please sign in to comment.