Skip to content

Commit 9d20ca7

Browse files
committed
feat: consume brownfield navigation
1 parent 3c303f9 commit 9d20ca7

7 files changed

Lines changed: 193 additions & 55 deletions

File tree

apps/AppleApp/Brownfield Apple App/BrownfieldAppleApp.swift

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import BrownfieldLib
22
import Brownie
33
import SwiftUI
44
import ReactBrownfield
5+
import UIKit
56

67
class AppDelegate: NSObject, UIApplicationDelegate {
78
var window: UIWindow?
@@ -14,6 +15,55 @@ class AppDelegate: NSObject, UIApplicationDelegate {
1415
}
1516
}
1617

18+
public class RNNavigationDelegate: BrownfieldNavigationDelegate {
19+
public func navigateToSettings() {
20+
present(SettingsScreen())
21+
}
22+
23+
public func navigateToReferrals(userId: String) {
24+
present(ReferralsScreen(userId: userId))
25+
}
26+
27+
private func present<Content: View>(_ view: Content) {
28+
DispatchQueue.main.async {
29+
let hostingController = UIHostingController(rootView: view)
30+
31+
guard let topController = UIApplication.shared.topMostViewController() else {
32+
return
33+
}
34+
35+
if let navigationController = topController.navigationController {
36+
navigationController.pushViewController(hostingController, animated: true)
37+
return
38+
}
39+
40+
let navigationController = UINavigationController(rootViewController: hostingController)
41+
topController.present(navigationController, animated: true)
42+
}
43+
}
44+
}
45+
46+
private extension UIApplication {
47+
func topMostViewController(
48+
base: UIViewController? = UIApplication.shared.connectedScenes
49+
.compactMap { $0 as? UIWindowScene }
50+
.flatMap { $0.windows }
51+
.first(where: { $0.isKeyWindow })?.rootViewController
52+
) -> UIViewController? {
53+
if let navigationController = base as? UINavigationController {
54+
return topMostViewController(base: navigationController.visibleViewController)
55+
}
56+
if let tabBarController = base as? UITabBarController,
57+
let selected = tabBarController.selectedViewController {
58+
return topMostViewController(base: selected)
59+
}
60+
if let presented = base?.presentedViewController {
61+
return topMostViewController(base: presented)
62+
}
63+
return base
64+
}
65+
}
66+
1767
@main
1868
struct BrownfieldAppleApp: App {
1969
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@@ -23,6 +73,21 @@ struct BrownfieldAppleApp: App {
2373
ReactNativeBrownfield.shared.startReactNative {
2474
print("React Native has been loaded")
2575
}
76+
77+
// let mgr = ReactBrownfield.BrownfieldNavigationManager.shared
78+
// print("SWIFT mgr:", Unmanaged.passUnretained(mgr).toOpaque())
79+
// print("SWIFT class:", NSStringFromClass(type(of: mgr)))
80+
// print("SWIFT bundle:", Bundle(for: ReactBrownfield.BrownfieldNavigationManager.self).bundlePath)
81+
// ReactBrownfield.BrownfieldNavigationManager.shared.setDelegate(navigationDelegate: RNNavigationDelegate())
82+
83+
let mgr = BrownfieldNavigationManager.shared
84+
print("11 SWIFT mgr:", Unmanaged.passUnretained(mgr).toOpaque())
85+
print("11 SWIFT class:", NSStringFromClass(type(of: mgr)))
86+
print("11 SWIFT bundle:", Bundle(for: BrownfieldNavigationManager.self).bundlePath)
87+
88+
mgr.setDelegate(
89+
navigationDelegate: RNNavigationDelegate()
90+
)
2691

2792
#if USE_EXPO_HOST
2893
ReactNativeBrownfield.shared.ensureExpoModulesProvider()

apps/AppleApp/Brownfield Apple App/ContentView.swift

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,53 @@ struct MainScreen: View {
3131
}
3232
}
3333

34+
struct SettingsScreen: View {
35+
var body: some View {
36+
Form {
37+
Section("Preferences") {
38+
Toggle("Enable notifications", isOn: .constant(true))
39+
Toggle("Dark mode", isOn: .constant(false))
40+
}
41+
42+
Section("About") {
43+
HStack {
44+
Text("Version")
45+
Spacer()
46+
Text("1.0.0")
47+
.foregroundStyle(.secondary)
48+
}
49+
}
50+
}
51+
.navigationTitle("Settings")
52+
}
53+
}
54+
55+
struct ReferralsScreen: View {
56+
let userId: String
57+
58+
var body: some View {
59+
VStack(spacing: 16) {
60+
Text("Referrals")
61+
.font(.title2)
62+
.fontWeight(.semibold)
63+
64+
Text("User ID")
65+
.foregroundStyle(.secondary)
66+
Text(userId)
67+
.font(.body.monospaced())
68+
.textSelection(.enabled)
69+
70+
Button("Share referral link") {
71+
// Placeholder action for the sample app.
72+
}
73+
.buttonStyle(.borderedProminent)
74+
}
75+
.frame(maxWidth: .infinity, maxHeight: .infinity)
76+
.padding()
77+
.navigationTitle("Referrals")
78+
}
79+
}
80+
3481
struct GreetingCard: View {
3582
let name: String
3683
@UseStore(\BrownfieldStore.counter) var counter
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export interface BrownfieldNavigationSpec {
2+
/**
3+
* Navigate to the native settings screen
4+
*/
5+
navigateToSettings(): void;
6+
7+
/**
8+
* Navigate to the native referrals screen
9+
* @param userId - The user's unique identifier
10+
*/
11+
navigateToReferrals(userId: string): void;
12+
}

apps/RNApp/ios/Podfile.lock

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PODS:
22
- boost (1.84.0)
3-
- Brownie (0.0.5):
3+
- Brownie (3.0.0-rc.2):
44
- boost
55
- DoubleConversion
66
- fast_float
@@ -2350,7 +2350,7 @@ PODS:
23502350
- SocketRocket
23512351
- ReactAppDependencyProvider (0.82.1):
23522352
- ReactCodegen
2353-
- ReactBrownfield (3.0.0-rc.1):
2353+
- ReactBrownfield (3.0.0-rc.2):
23542354
- boost
23552355
- DoubleConversion
23562356
- fast_float
@@ -2772,7 +2772,7 @@ EXTERNAL SOURCES:
27722772

27732773
SPEC CHECKSUMS:
27742774
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
2775-
Brownie: e4291b884a7157a2dbe6d60dd72e962078223791
2775+
Brownie: 45f5c3689d98179147d7b72678552f0cc54b6f90
27762776
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
27772777
fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6
27782778
FBLazyVector: 0aa6183b9afe3c31fc65b5d1eeef1f3c19b63bfa
@@ -2788,67 +2788,67 @@ SPEC CHECKSUMS:
27882788
React-Core: 956ac86b4d9b0c0fd9a14b9cc533aa297bb501c0
27892789
React-CoreModules: 3a8d39778cf9eeca40e419814e875da1a8e29855
27902790
React-cxxreact: db275765e1eb08f038599fb44114cf57ee0d18cd
2791-
React-debug: c8356d908286b1dc4cf90cd0977227dd61b7b1eb
2792-
React-defaultsnativemodule: df1a41d072194c96d0077dd30ee8d5d452397f26
2793-
React-domnativemodule: 8abd63d26685a5c1c88c8ccc902876dc9c0e2d6f
2794-
React-Fabric: 1dea7e164181d7d688cfbd70a6e5f026e2df6bf5
2795-
React-FabricComponents: 2a6f81481fa240a9239536402d72823f9d642925
2796-
React-FabricImage: 513940cfd43193d3befb45dba9911f936bd74df7
2797-
React-featureflags: bc1d980ff8356b931cd87c16700a39aaede1ed5a
2798-
React-featureflagsnativemodule: 4f7beedf0c241c44dcffc51e52a6178b5e0d541d
2799-
React-graphics: 69311413b44b6d228dbc705d8ce57ad0a4d55daf
2791+
React-debug: 1dfa1d1cbd93bdaffa3b140190829f9fd9e27985
2792+
React-defaultsnativemodule: 35f353ba06901fb5e374bc56e750fde05cbb05b9
2793+
React-domnativemodule: cf9e1b1b520ce0e66396c2744b3eb6d419711c13
2794+
React-Fabric: c0b0c1ad70476d354b3da9fef96094f7b37804da
2795+
React-FabricComponents: 8c6861c5233cf0d5685cee301a979313090e2f57
2796+
React-FabricImage: cef8883d2fb6c892003fefcad261d2898adbe926
2797+
React-featureflags: 0e2b969019c2b118de64a6d4c55ef7c05f2b0f1d
2798+
React-featureflagsnativemodule: e1ef619d14fe0a68d4783b32293309dbb13ef2a5
2799+
React-graphics: 0fc6b7acaff7161bda05bf8bffceacc2b0b4e38d
28002800
React-hermes: b454b9352bc26e638704d103009f659a125b86d3
2801-
React-idlecallbacksnativemodule: d15d469a152b7677d184a9538fae0744692e4575
2802-
React-ImageManager: cce591e16cc6fa63ad5d45de012b4ddf31fd21e9
2803-
React-jserrorhandler: 05fb248a535148a7eec94c786bd0e9e1413c6b3a
2801+
React-idlecallbacksnativemodule: 35ab292f8404c469744db5a5dd5f0f27f95e5ebf
2802+
React-ImageManager: 3312c550ebcf6b7d911d9993082adcb3e1407ce8
2803+
React-jserrorhandler: 2a7f2d94566f05f8cb82288afd46bc0fd8b2ffc7
28042804
React-jsi: 7aa265cf8372d8385ccc7935729e76d27e694dfe
28052805
React-jsiexecutor: 8dd53bebfb3bc12f0541282aa4c858a433914e37
2806-
React-jsinspector: 0f62d1ffa7242033a1106f0af9f83ec12a381401
2807-
React-jsinspectorcdp: 5ae22d48dcf03812cd4f8c4a6fd7c7204cd8789d
2808-
React-jsinspectornetwork: 9052eb6bbd876bfdafa1605874dd848511236844
2809-
React-jsinspectortracing: 6d89a5caab7b86947607cf654fc94cf1c31f8330
2810-
React-jsitooling: ecbd81f751b79ba748d4d0d54445da1b53e363fd
2811-
React-jsitracing: 8068734240da604902fead29287dc21b820bc7d3
2806+
React-jsinspector: f89b9ae62a4e2f6035b452442ef20a7f98f9cb27
2807+
React-jsinspectorcdp: 44e46c1473a8deecf7b188389ed409be83fb3cc7
2808+
React-jsinspectornetwork: dc9524f6e3d7694b1b6f4bd22dedad8ccc2c0a80
2809+
React-jsinspectortracing: 0166ebbdfb125936a5d231895de3c11a19521dfc
2810+
React-jsitooling: 34692514ec8d8735938eda3677808a58f41c925b
2811+
React-jsitracing: a598dae84a87f8013635d09c5e7884023bda8501
28122812
React-logger: 500f2fa5697d224e63c33d913c8a4765319e19bf
2813-
React-Mapbuffer: 4c50cf6af44286015a20a5995d5321f625c93459
2814-
React-microtasksnativemodule: a84b9331106616ab1fa36de9ae555718d4bbdcf5
2815-
react-native-safe-area-context: 0a3b034bb63a5b684dd2f5fffd3c90ef6ed41ee8
2816-
React-NativeModulesApple: efd0906463c79d9b86197dbcf0d58358dff8c5ed
2813+
React-Mapbuffer: 06d59c448da7e34eb05b3fb2189e12f6a30fec57
2814+
React-microtasksnativemodule: d1ee999dc9052e23f6488b730fa2d383a4ea40e5
2815+
react-native-safe-area-context: c00143b4823773bba23f2f19f85663ae89ceb460
2816+
React-NativeModulesApple: 46690a0fe94ec28fc6fc686ec797b911d251ded0
28172817
React-oscompat: 95875e81f5d4b3c7b2c888d5bd2c9d83450d8bdb
28182818
React-perflogger: 2e229bf33e42c094fd64516d89ec1187a2b79b5b
2819-
React-performancecdpmetrics: fd9bbc52960c6aa008fdae263849eb14411ae13e
2820-
React-performancetimeline: 16eaea3f8be5d42eb3bf8a261d87df2fe7e6e111
2819+
React-performancecdpmetrics: 05ba4bd83f36acf192071bb5d9c8f45faf04d140
2820+
React-performancetimeline: bfc96fcd2b79f7489dd54e3df4cba186dd8dd141
28212821
React-RCTActionSheet: 2399bb6cc8adaef2e5850878102fea2ad1788a0e
28222822
React-RCTAnimation: d1deb6946e83e22a795a7d0148b94faad8851644
28232823
React-RCTAppDelegate: 10b35d5cec3f8653f6de843ae800b3ba8050b801
28242824
React-RCTBlob: 85150378edc42862d7c13ff2502693f32b174f91
2825-
React-RCTFabric: f57a14a48756480a7c96670d633cb39692eed453
2826-
React-RCTFBReactNativeSpec: 725c3bb08b2f86741df136455960f2b58dd8f6e4
2825+
React-RCTFabric: 736f9da3ad57e2cef5fa4c132999933a89bb8378
2826+
React-RCTFBReactNativeSpec: 705ec584758966950a31fa235539b57523059837
28272827
React-RCTImage: bb6cbdc22698b3afc8eb8d81ef03ee840d24c6f6
28282828
React-RCTLinking: e8b006d101c45651925de3e82189f03449eedfe7
28292829
React-RCTNetwork: 7999731af05ec8f591cbc6ad4e29d79e209c581a
2830-
React-RCTRuntime: cdbbadadafcad5836fb0616073d7011c39c30ffd
2830+
React-RCTRuntime: 99d8a2a17747866fb972561cdb205afe9b26d369
28312831
React-RCTSettings: 839f334abb92e917bc24322036081ffe15c84086
28322832
React-RCTText: 272f60e9a5dbfd14c348c85881ee7d5c7749a67c
28332833
React-RCTVibration: 1ffa30a21e2227be3afe28d657ac8e6616c91bae
2834-
React-rendererconsistency: a51dcbe4b3c1159413cfdb85abace6a5c871a4b3
2835-
React-renderercss: 5fdc31a529021337e7eac6f1e9bf4410947b877e
2836-
React-rendererdebug: 8427d2e5d1b7e39971c9c59e55bbfcb7884a942f
2837-
React-RuntimeApple: 9ba3723a539ed1701b8ba08dc317f1255c269a37
2838-
React-RuntimeCore: 61b10d50472e29cd1ec98aba797d0d8d4f325283
2839-
React-runtimeexecutor: 8e5135a09dcb012a15a025dc514361c927ea5db9
2840-
React-RuntimeHermes: f06c7288967d0209fc075e5eabd5e851580047e9
2841-
React-runtimescheduler: bd92275b3a847c71d10210ae89a8e04dba076630
2842-
React-timing: 91f11a6537770b698eb8152e4669012992710b27
2843-
React-utils: f06ff240e06e2bd4b34e48f1b34cac00866e8979
2844-
React-webperformancenativemodule: b3398f8175fa96d992c071b1fa59bd6f9646b840
2834+
React-rendererconsistency: 3c3e198aba0255524ed7126aa812d22ce750d217
2835+
React-renderercss: 6b3ce3dfadf991937ae3229112be843ef1438c32
2836+
React-rendererdebug: baf9e1daa07ac7f9aca379555126d29f963ba38b
2837+
React-RuntimeApple: 4136aee89257894955ef09e9f9ef74f0c27596be
2838+
React-RuntimeCore: e9a743d7de4bbd741b16e10b26078d815d6513ab
2839+
React-runtimeexecutor: 781e292362066af82fa2478d95c6b0e374421844
2840+
React-RuntimeHermes: 6ab3c2847516769fc860d711814f1735859cad74
2841+
React-runtimescheduler: 824c83a5fd68b35396de6d4f2f9ae995daac861b
2842+
React-timing: 1ebc7102dd52a3edcc63534686bb156e12648411
2843+
React-utils: abf37b162f560cd0e3e5d037af30bb796512246d
2844+
React-webperformancenativemodule: 50a57c713a90d27ae3ab947a6c9c8859bcb49709
28452845
ReactAppDependencyProvider: a45ef34bb22dc1c9b2ac1f74167d9a28af961176
2846-
ReactBrownfield: ce231a9060b34e1fe8f91ec8416f21dc6da8b4b5
2847-
ReactCodegen: 0bce2d209e2e802589f4c5ff76d21618200e74cb
2848-
ReactCommon: 801eff8cb9c940c04d3a89ce399c343ee3eff654
2849-
RNScreens: d6413aeb1878cdafd3c721e2c5218faf5d5d3b13
2846+
ReactBrownfield: a7706e2b5bf21861c73ef20b54674e672ea6aa96
2847+
ReactCodegen: 878add6c7d8ff8cea87697c44d29c03b79b6f2d9
2848+
ReactCommon: 804dc80944fa90b86800b43c871742ec005ca424
2849+
RNScreens: ffbb0296608eb3560de641a711bbdb663ed1f6b4
28502850
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2851-
Yoga: 526f25666395d30c297d53154398ffd249eaf9e1
2851+
Yoga: 689c8e04277f3ad631e60fe2a08e41d411daf8eb
28522852

28532853
PODFILE CHECKSUM: 7c116a16dd0744063c8c6293dbfc638c9d447c19
28542854

apps/RNApp/ios/RNApp.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
/* Begin PBXBuildFile section */
1010
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
11+
438C996BA823BB6C760606A7 /* libPods-RNApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 65D11050DC86B90737C67645 /* libPods-RNApp.a */; };
12+
5DD191C4345A176F232A6668 /* libPods-RNApp-BrownfieldLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CF91B4A8DD47F8D8819A3AB /* libPods-RNApp-BrownfieldLib.a */; };
1113
761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
1214
79BD1EE92EEBFB76003AA29F /* BrownfieldLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79BD1EE32EEBFB76003AA29F /* BrownfieldLib.framework */; };
1315
79BD1EEA2EEBFB76003AA29F /* BrownfieldLib.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 79BD1EE32EEBFB76003AA29F /* BrownfieldLib.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
1416
79F35E8C2EEC1D4500E64860 /* BrownfieldLib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F35E8A2EEC1D4500E64860 /* BrownfieldLib.swift */; };
1517
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
16-
A19F59C8902E0F7A03F2A8C6 /* Pods_RNApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6CBC8DE61C44A9AB569A3CA /* Pods_RNApp.framework */; };
17-
BFB326E698C6BD239F8AEAE9 /* Pods_RNApp_BrownfieldLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 64481842743F90E340AD414A /* Pods_RNApp_BrownfieldLib.framework */; };
1818
C66C2A65406C527E9529D08F /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
1919
/* End PBXBuildFile section */
2020

@@ -49,13 +49,13 @@
4949
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = RNApp/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
5050
3B4392A12AC88292D35C810B /* Pods-RNApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNApp.debug.xcconfig"; path = "Target Support Files/Pods-RNApp/Pods-RNApp.debug.xcconfig"; sourceTree = "<group>"; };
5151
5709B34CF0A7D63546082F79 /* Pods-RNApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNApp.release.xcconfig"; path = "Target Support Files/Pods-RNApp/Pods-RNApp.release.xcconfig"; sourceTree = "<group>"; };
52-
64481842743F90E340AD414A /* Pods_RNApp_BrownfieldLib.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RNApp_BrownfieldLib.framework; sourceTree = BUILT_PRODUCTS_DIR; };
52+
65D11050DC86B90737C67645 /* libPods-RNApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNApp.a"; sourceTree = BUILT_PRODUCTS_DIR; };
5353
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = RNApp/AppDelegate.swift; sourceTree = "<group>"; };
5454
79BD1EE32EEBFB76003AA29F /* BrownfieldLib.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BrownfieldLib.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5555
79F35E8A2EEC1D4500E64860 /* BrownfieldLib.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrownfieldLib.swift; sourceTree = "<group>"; };
5656
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = RNApp/LaunchScreen.storyboard; sourceTree = "<group>"; };
5757
8A02E03D9F74B585B0A8F7F7 /* Pods-RNApp-BrownfieldLib.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNApp-BrownfieldLib.debug.xcconfig"; path = "Target Support Files/Pods-RNApp-BrownfieldLib/Pods-RNApp-BrownfieldLib.debug.xcconfig"; sourceTree = "<group>"; };
58-
B6CBC8DE61C44A9AB569A3CA /* Pods_RNApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RNApp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
58+
8CF91B4A8DD47F8D8819A3AB /* libPods-RNApp-BrownfieldLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNApp-BrownfieldLib.a"; sourceTree = BUILT_PRODUCTS_DIR; };
5959
D8C030F60E402FD6CFBB3904 /* Pods-RNApp-BrownfieldLib.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNApp-BrownfieldLib.release.xcconfig"; path = "Target Support Files/Pods-RNApp-BrownfieldLib/Pods-RNApp-BrownfieldLib.release.xcconfig"; sourceTree = "<group>"; };
6060
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
6161
/* End PBXFileReference section */
@@ -66,15 +66,15 @@
6666
buildActionMask = 2147483647;
6767
files = (
6868
79BD1EE92EEBFB76003AA29F /* BrownfieldLib.framework in Frameworks */,
69-
A19F59C8902E0F7A03F2A8C6 /* Pods_RNApp.framework in Frameworks */,
69+
438C996BA823BB6C760606A7 /* libPods-RNApp.a in Frameworks */,
7070
);
7171
runOnlyForDeploymentPostprocessing = 0;
7272
};
7373
79BD1EE02EEBFB76003AA29F /* Frameworks */ = {
7474
isa = PBXFrameworksBuildPhase;
7575
buildActionMask = 2147483647;
7676
files = (
77-
BFB326E698C6BD239F8AEAE9 /* Pods_RNApp_BrownfieldLib.framework in Frameworks */,
77+
5DD191C4345A176F232A6668 /* libPods-RNApp-BrownfieldLib.a in Frameworks */,
7878
);
7979
runOnlyForDeploymentPostprocessing = 0;
8080
};
@@ -97,8 +97,8 @@
9797
isa = PBXGroup;
9898
children = (
9999
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
100-
B6CBC8DE61C44A9AB569A3CA /* Pods_RNApp.framework */,
101-
64481842743F90E340AD414A /* Pods_RNApp_BrownfieldLib.framework */,
100+
65D11050DC86B90737C67645 /* libPods-RNApp.a */,
101+
8CF91B4A8DD47F8D8819A3AB /* libPods-RNApp-BrownfieldLib.a */,
102102
);
103103
name = Frameworks;
104104
sourceTree = "<group>";

apps/RNApp/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"lint": "eslint .",
1414
"start": "react-native start",
1515
"test": "jest",
16-
"codegen": "brownfield codegen"
16+
"codegen": "brownfield codegen",
17+
"brownfield:navigation-codegen": "brownfield-navigation-codegen brownfield.navigation.ts"
1718
},
1819
"dependencies": {
1920
"@callstack/brownie": "workspace:^",

0 commit comments

Comments
 (0)