v2: iPad !26

merged merged by cmc on 2026-10-18 08:51 UTC · krz/moonrise:v2-ipad into main

8 files changed, +21 −5

Layout: unified · split

App/Sources/LaunchesScreen.swift +1
@@ -36,6 +36,7 @@ struct LaunchesScreen: View {
3636 }
3737 }
3838 .padding(.horizontal, 20)
39 .readableWidth()
3940 }
4041 .foregroundStyle(ink)
4142 .background(background.ignoresSafeArea())
App/Sources/LibraryScreen.swift +1
@@ -98,6 +98,7 @@ struct LibraryPageView: View {
9898 }
9999 .padding(.horizontal, 20)
100100 .frame(maxWidth: .infinity, alignment: .leading)
101 .readableWidth()
101102 }
102103 .foregroundStyle(ink)
103104 .background(pageBackground.ignoresSafeArea())
App/Sources/MoonriseApp.swift +1
@@ -22,6 +22,7 @@ struct MoonriseApp: App {
2222 Tab("Launches", systemImage: "airplane.departure", value: "launches") { LaunchesScreen() }
2323 Tab("Library", systemImage: "books.vertical", value: "library") { LibraryScreen() }
2424 }
25 .tabViewStyle(.sidebarAdaptable)
2526 // Red tab highlight while the Sky tab is in night mode.
2627 .tint(tab == "sky" && nightActive ? SkyStyle.nightRed : nil)
2728 .preferredColorScheme(.dark)
App/Sources/OnboardingScreen.swift +3 −1
@@ -20,7 +20,7 @@ struct OnboardingScreen: View {
2020 Rectangle().fill(accent).frame(width: 48, height: 5).padding(.top, 10).padding(.bottom, 24)
2121 VStack(alignment: .leading, spacing: 14) {
2222 Text("The sky above you tonight, the Sun today, launches, the solar system, and a library of everything up there.")
23 Text("To draw the sky for where you are, Moonrise uses your location. It is used on this phone to work out positions and is not sent to us or anyone else.")
23 Text("To draw the sky for where you are, Moonrise uses your location. It is used on this device to work out positions and is not sent to us or anyone else.")
2424 .foregroundStyle(ink.opacity(0.75))
2525 }
2626 .font(.body)
@@ -49,6 +49,8 @@ struct OnboardingScreen: View {
4949 }
5050 .padding(.horizontal, 24)
5151 .padding(.bottom, 24)
52 .frame(maxWidth: 560)
53 .frame(maxWidth: .infinity)
5254 .foregroundStyle(ink)
5355 .background(background.ignoresSafeArea())
5456 }
App/Sources/ReadableWidth.swift added +8
@@ -0,0 +1,8 @@
1import SwiftUI
2
3extension View {
4 /// Keeps text columns to a comfortable reading width on iPad, centred.
5 func readableWidth() -> some View {
6 frame(maxWidth: 720).frame(maxWidth: .infinity)
7 }
8}
App/Sources/SunScreen.swift +1
@@ -41,6 +41,7 @@ struct SunScreen: View {
4141 Text("Space weather data: NOAA Space Weather Prediction Center. Coastlines: Natural Earth.").font(.caption2).dimmed(0.5).padding(.vertical, 16)
4242 }
4343 .padding(.horizontal, 20)
44 .readableWidth()
4445 }
4546 .foregroundStyle(ink)
4647 .background(background.ignoresSafeArea())
App/Sources/SystemScreen.swift +1
@@ -93,6 +93,7 @@ struct SystemScreen: View {
9393 .font(.caption2).dimmed(0.5).padding(.vertical, 16)
9494 }
9595 .padding(.horizontal, 20)
96 .readableWidth()
9697 }
9798 .foregroundStyle(ink)
9899 .background(background.ignoresSafeArea())
App/project.yml +5 −4
@@ -46,7 +46,7 @@ targets:
4646 DEVELOPMENT_TEAM: ZCNAX3VL9D
4747 CODE_SIGN_STYLE: Automatic
4848 SWIFT_VERSION: "6.0"
49 TARGETED_DEVICE_FAMILY: "1"
49 TARGETED_DEVICE_FAMILY: "1,2"
5050 MARKETING_VERSION: "1.0"
5151 CURRENT_PROJECT_VERSION: "1"
5252 GENERATE_INFOPLIST_FILE: YES
@@ -58,7 +58,8 @@ targets:
5858 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
5959 INFOPLIST_KEY_UILaunchScreen_Generation: YES
6060 INFOPLIST_KEY_UIStatusBarStyle: UIStatusBarStyleLightContent
61 INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait
61 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: UIInterfaceOrientationPortrait
62 INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
6263 INFOPLIST_KEY_NSLocationWhenInUseUsageDescription: Moonrise uses your location to draw the sky above you.
6364 MoonriseWidgets:
6465 type: app-extension
@@ -84,7 +85,7 @@ targets:
8485 DEVELOPMENT_TEAM: ZCNAX3VL9D
8586 CODE_SIGN_STYLE: Automatic
8687 SWIFT_VERSION: "6.0"
87 TARGETED_DEVICE_FAMILY: "1"
88 TARGETED_DEVICE_FAMILY: "1,2"
8889 MARKETING_VERSION: "1.0"
8990 CURRENT_PROJECT_VERSION: "1"
9091 MoonriseUITests:
@@ -99,5 +100,5 @@ targets:
99100 DEVELOPMENT_TEAM: ZCNAX3VL9D
100101 CODE_SIGN_STYLE: Automatic
101102 SWIFT_VERSION: "5.0"
102 TARGETED_DEVICE_FAMILY: "1"
103 TARGETED_DEVICE_FAMILY: "1,2"
103104 GENERATE_INFOPLIST_FILE: YES