Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SwiftUIify Settings screen and fix app icon picker (#1179)
* Expand AwfulSwift into AwfulExtensions and move SDK/stdlib extensions in so we can use them from other packages * Move settings (including codegen) into new AwfulSettings package * Replace Sourcery and custom UserDefaults stuff with Foil and other custom UserDefaults stuff * Make a SwiftUI SettingsView * Move (user defaults) settings migration into AwfulSettings module * Also start AwfulModelTypes package for tagged identifier types. * Delete unsupported setting custom_base_URL * Move Theme into new AwfulTheming package * Would be nice to move .css files over, but they're generated from .less files, and pulling that generation into a Swift package build plugin is more effort than it's worth right now. * Theme the SettingsView * Slowly figuring out how to bring themes into SwiftUI. The environment key and view modifier seem like a good step. Manually having to set everything is annoying, but let's try it out on a few different views before trying anything drastic. * Also split AwfulSettingsUI into its own package to fix a dependency cycle between AwfulSettings and AwfulTheming. AwfulTheming needs to read some Settings values to do its job, but AwfulSettingsUI needs to theme itself. Maybe there's a smarter breakdown here. Or maybe AwfulSettingsUI can pull its weight if we move the other Settings tab screens over. * Delete old settings view controller, Settings.plist, and SettingsBinding * Quarantine remaining Objective-C code in packages, drop bridging header, and add missing imports previously covered up by the bridging header * Move forum-specific themes and theme picker view controllers into AwfulSettingsUI * Move acknowledgements screen to SwiftUI * Update build settings for Xcode 15.2 and add new test targets to test plan
- Loading branch information
Showing
208 changed files
with
4,267 additions
and
6,793 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.