feat: iOS appearance, iPad logo fix, demo seed, and landing hero polish

Add System/Light/Dark preference for iPhone and iPad, restore the iPad
sidebar brand mark, ship a DEBUG seed-demo URL for rich placeholder data,
and refresh GitHub Pages with the device composite, full-bleed pale-green
hero wash, and transparent Mac screenshot chrome.
This commit is contained in:
Rocky
2026-07-12 16:24:59 +08:00
parent a57bba9ea0
commit c598ba77e6
18 changed files with 424 additions and 220 deletions
+11
View File
@@ -23,6 +23,17 @@
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.osgkeyboard.mac.seed</string>
<key>CFBundleURLSchemes</key>
<array>
<string>osgkeyboard</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>ITSAppUsesNonExemptEncryption</key>
+14
View File
@@ -52,6 +52,20 @@ struct OSGKeyboardMacApp: App {
.onReceive(NotificationCenter.default.publisher(for: .speechHistoryDidSyncFromCloud)) { _ in
viewModel.speechHistory.reloadFromDisk()
}
.onOpenURL { url in
#if DEBUG
guard url.scheme == "osgkeyboard", url.host == "seed-demo" else { return }
DemoDataSeeder.seedRichPlaceholderData(
defaults: .standard,
historyDefaults: .standard
)
viewModel.reloadConfigFromCloud()
viewModel.refreshDictionaryFromCloud()
viewModel.usageStatistics.reloadFromDisk()
viewModel.speechHistory.reloadFromDisk()
hasCompletedMacOnboarding = true
#endif
}
}
// Borderless titlebar content (sidebar + traffic lights) runs to the
// very top, matching macOS System Settings.