ReviewOS

also looking at this

craft-native/craft

feat: finish native customization and platform seams

#401
Merged glennmichael123 wants to merge codex/issues-388-400-344 into main
21 files +707 -17
packages/ios/fixtures/native-screen/NativeLayoutUnitTests.swiftmodified+18-0
Changes to packages/ios/fixtures/native-screen/NativeLayoutUnitTests.swift
@@ -17,6 +17,24 @@ final class NativeLayoutUnitTests: XCTestCase {
1717 return controller
1818 }
1919
20 func testNativeScreenUsesConfiguredUIKitAppearance() {
21 var config = CraftConfig()
22 config.appearance = "light"
23 let light = CraftNativeScreenController(config: config)
24 light.loadViewIfNeeded()
25 XCTAssertEqual(light.overrideUserInterfaceStyle, .light)
26
27 config.appearance = "dark"
28 let dark = CraftNativeScreenController(config: config)
29 dark.loadViewIfNeeded()
30 XCTAssertEqual(dark.overrideUserInterfaceStyle, .dark)
31
32 config.appearance = "system"
33 let system = CraftNativeScreenController(config: config)
34 system.loadViewIfNeeded()
35 XCTAssertEqual(system.overrideUserInterfaceStyle, .unspecified)
36 }
37
2038 func testReturningToAnUnchangedThemeRetainsTextAndScrollGeometry() throws {
2139 let rows: [[String: Any]] = (0..<100).map { index in
2240 ["id": "row-\(index)", "type": "Text", "props": ["testID": "row-\(index)"],