react-native-debug-toolkit 3.2.2 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  package com.reactnativedebugtoolkit;
2
2
 
3
+ import android.content.Context;
3
4
  import android.content.SharedPreferences;
4
5
  import android.preference.PreferenceManager;
5
6
 
@@ -11,11 +12,16 @@ import com.facebook.react.bridge.Promise;
11
12
  import com.facebook.react.bridge.ReactApplicationContext;
12
13
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
13
14
  import com.facebook.react.bridge.ReactMethod;
15
+ import com.facebook.react.bridge.UiThreadUtil;
14
16
  import com.facebook.react.bridge.WritableMap;
15
17
 
18
+ import java.lang.reflect.Method;
19
+
16
20
  public class DebugToolkitDevConnectModule extends ReactContextBaseJavaModule {
17
21
  private static final String MODULE_NAME = "DebugToolkitDevConnect";
18
22
  private static final String DEBUG_SERVER_HOST_KEY = "debug_http_host";
23
+ private static final String APPLY_RELOAD_REASON = "DebugToolkit DevConnect Metro host changed";
24
+ private static final String RESET_RELOAD_REASON = "DebugToolkit DevConnect Metro host reset";
19
25
 
20
26
  public DebugToolkitDevConnectModule(ReactApplicationContext reactContext) {
21
27
  super(reactContext);
@@ -31,6 +37,74 @@ public class DebugToolkitDevConnectModule extends ReactContextBaseJavaModule {
31
37
  return PreferenceManager.getDefaultSharedPreferences(getReactApplicationContext());
32
38
  }
33
39
 
40
+ @Nullable
41
+ private Object callGetter(Object target, String methodName) {
42
+ try {
43
+ Method method = target.getClass().getMethod(methodName);
44
+ return method.invoke(target);
45
+ } catch (Exception ignored) {
46
+ return null;
47
+ }
48
+ }
49
+
50
+ private boolean triggerDevSupportReload(@Nullable Object devSupportManager) throws Exception {
51
+ if (devSupportManager == null) {
52
+ return false;
53
+ }
54
+
55
+ Object enabled = callGetter(devSupportManager, "getDevSupportEnabled");
56
+ if (enabled instanceof Boolean && !((Boolean) enabled)) {
57
+ return false;
58
+ }
59
+
60
+ Method reloadMethod = devSupportManager.getClass().getMethod("handleReloadJS");
61
+ reloadMethod.invoke(devSupportManager);
62
+ return true;
63
+ }
64
+
65
+ private boolean reloadFromReactHost(Context applicationContext, String reason) throws Exception {
66
+ Object reactHost = callGetter(applicationContext, "getReactHost");
67
+ if (reactHost == null) {
68
+ return false;
69
+ }
70
+
71
+ if (triggerDevSupportReload(callGetter(reactHost, "getDevSupportManager"))) {
72
+ return true;
73
+ }
74
+
75
+ Method reloadMethod = reactHost.getClass().getMethod("reload", String.class);
76
+ reloadMethod.invoke(reactHost, reason);
77
+ return true;
78
+ }
79
+
80
+ private boolean reloadFromReactNativeHost(Context applicationContext) throws Exception {
81
+ Object reactNativeHost = callGetter(applicationContext, "getReactNativeHost");
82
+ Object instanceManager = reactNativeHost == null
83
+ ? null
84
+ : callGetter(reactNativeHost, "getReactInstanceManager");
85
+ Object devSupportManager = instanceManager == null
86
+ ? null
87
+ : callGetter(instanceManager, "getDevSupportManager");
88
+ return triggerDevSupportReload(devSupportManager);
89
+ }
90
+
91
+ private void resolveAfterReload(String reason, @Nullable WritableMap result, Promise promise) {
92
+ UiThreadUtil.runOnUiThread(() -> {
93
+ try {
94
+ Context applicationContext = getReactApplicationContext().getApplicationContext();
95
+ boolean reloaded = reloadFromReactHost(applicationContext, reason)
96
+ || reloadFromReactNativeHost(applicationContext);
97
+ if (!reloaded) {
98
+ promise.reject("reload_unavailable", "Unable to trigger React Native reload after updating Metro host.");
99
+ return;
100
+ }
101
+ promise.resolve(result);
102
+ } catch (Exception error) {
103
+ promise.reject("reload_failed", "Unable to trigger React Native reload after updating Metro host.", error);
104
+ }
105
+ });
106
+ }
107
+
34
108
  @ReactMethod
35
109
  public void getMetroHost(Promise promise) {
36
110
  @Nullable String host = getPreferences().getString(DEBUG_SERVER_HOST_KEY, null);
@@ -44,16 +118,26 @@ public class DebugToolkitDevConnectModule extends ReactContextBaseJavaModule {
44
118
  return;
45
119
  }
46
120
 
47
- getPreferences().edit().putString(DEBUG_SERVER_HOST_KEY, hostPort).apply();
121
+ boolean stored = getPreferences().edit().putString(DEBUG_SERVER_HOST_KEY, hostPort).commit();
122
+ if (!stored) {
123
+ promise.reject("storage_failed", "Unable to persist Metro host.");
124
+ return;
125
+ }
126
+
48
127
  WritableMap result = Arguments.createMap();
49
128
  result.putString("hostPort", hostPort);
50
- promise.resolve(result);
129
+ resolveAfterReload(APPLY_RELOAD_REASON, result, promise);
51
130
  }
52
131
 
53
132
  @ReactMethod
54
133
  public void resetMetroHost(Promise promise) {
55
- getPreferences().edit().remove(DEBUG_SERVER_HOST_KEY).apply();
56
- promise.resolve(null);
134
+ boolean stored = getPreferences().edit().remove(DEBUG_SERVER_HOST_KEY).commit();
135
+ if (!stored) {
136
+ promise.reject("storage_failed", "Unable to reset Metro host.");
137
+ return;
138
+ }
139
+
140
+ resolveAfterReload(RESET_RELOAD_REASON, null, promise);
57
141
  }
58
142
 
59
143
  @ReactMethod
@@ -1,8 +1,22 @@
1
1
  #import <Foundation/Foundation.h>
2
2
  #import <React/RCTBridgeModule.h>
3
3
  #import <React/RCTBundleURLProvider.h>
4
+ #import <React/RCTReloadCommand.h>
4
5
 
5
6
  static NSString *const DebugToolkitRCTJsLocationKey = @"RCT_jsLocation";
7
+ static NSString *const DebugToolkitBundleRoot = @"index";
8
+
9
+ static void DebugToolkitResolveAfterReload(NSString *reason, id result, RCTPromiseResolveBlock resolve)
10
+ {
11
+ dispatch_async(dispatch_get_main_queue(), ^{
12
+ NSURL *bundleURL = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:DebugToolkitBundleRoot];
13
+ if (bundleURL) {
14
+ RCTReloadCommandSetBundleURL(bundleURL);
15
+ }
16
+ RCTTriggerReloadCommandListeners(reason);
17
+ resolve(result ?: [NSNull null]);
18
+ });
19
+ }
6
20
 
7
21
  @interface DebugToolkitDevConnect : NSObject <RCTBridgeModule>
8
22
  @end
@@ -33,7 +47,7 @@ RCT_EXPORT_METHOD(applyMetroHost:(NSString *)hostPort
33
47
  }
34
48
 
35
49
  [RCTBundleURLProvider sharedSettings].jsLocation = hostPort;
36
- resolve(@{ @"hostPort" : hostPort });
50
+ DebugToolkitResolveAfterReload(@"DebugToolkit DevConnect Metro host changed", @{ @"hostPort" : hostPort }, resolve);
37
51
  }
38
52
 
39
53
  RCT_EXPORT_METHOD(resetMetroHost:(RCTPromiseResolveBlock)resolve
@@ -43,7 +57,7 @@ RCT_EXPORT_METHOD(resetMetroHost:(RCTPromiseResolveBlock)resolve
43
57
  [defaults removeObjectForKey:DebugToolkitRCTJsLocationKey];
44
58
  [defaults synchronize];
45
59
  [[NSNotificationCenter defaultCenter] postNotificationName:RCTBundleURLProviderUpdatedNotification object:nil];
46
- resolve([NSNull null]);
60
+ DebugToolkitResolveAfterReload(@"DebugToolkit DevConnect Metro host reset", [NSNull null], resolve);
47
61
  }
48
62
 
49
63
  RCT_EXPORT_METHOD(getPreference:(NSString *)key
@@ -87,59 +87,65 @@ function DevConnectQrScanner({
87
87
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
88
88
  visible: visible,
89
89
  animationType: "slide",
90
+ presentationStyle: "fullScreen",
90
91
  onRequestClose: onClose,
91
92
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
92
93
  style: styles.container,
93
- children: [!cameraFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(CameraErrorBoundary, {
94
- onCameraError: handleCameraError,
95
- children: scanner.kind === 'camera-kit' && scanner.CameraKit ? /*#__PURE__*/(0, _jsxRuntime.jsx)(scanner.CameraKit.Camera, {
96
- style: styles.camera,
97
- cameraType: scanner.CameraKit.CameraType?.Back,
98
- scanBarcode: true,
99
- onReadCode: handleCameraKitRead,
100
- showFrame: true,
101
- laserColor: _colors.Colors.primary,
102
- frameColor: _colors.Colors.primary,
103
- allowedBarcodeTypes: ['qr']
104
- }) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? /*#__PURE__*/(0, _jsxRuntime.jsx)(scanner.ExpoCamera.Camera, {
105
- style: styles.camera,
106
- onBarCodeScanned: handleExpoScanned,
107
- barCodeScannerSettings: {
108
- barCodeTypes: ['qr']
109
- }
110
- }) : null
111
- }), cameraFailed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
112
- style: styles.cameraFallback,
113
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
114
- style: styles.cameraFallbackText,
115
- children: "Camera unavailable."
116
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
117
- style: styles.cameraFallbackHint,
118
- children: "Please enter computer IP manually."
94
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
95
+ style: styles.previewLayer,
96
+ children: [!cameraFailed && /*#__PURE__*/(0, _jsxRuntime.jsx)(CameraErrorBoundary, {
97
+ onCameraError: handleCameraError,
98
+ children: scanner.kind === 'camera-kit' && scanner.CameraKit ? /*#__PURE__*/(0, _jsxRuntime.jsx)(scanner.CameraKit.Camera, {
99
+ style: styles.camera,
100
+ cameraType: scanner.CameraKit.CameraType?.Back,
101
+ scanBarcode: true,
102
+ onReadCode: handleCameraKitRead,
103
+ showFrame: true,
104
+ laserColor: _colors.Colors.primary,
105
+ frameColor: _colors.Colors.primary,
106
+ allowedBarcodeTypes: ['qr']
107
+ }) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? /*#__PURE__*/(0, _jsxRuntime.jsx)(scanner.ExpoCamera.Camera, {
108
+ style: styles.camera,
109
+ onBarCodeScanned: handleExpoScanned,
110
+ barCodeScannerSettings: {
111
+ barCodeTypes: ['qr']
112
+ }
113
+ }) : null
114
+ }), cameraFailed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
115
+ style: styles.cameraFallback,
116
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
117
+ style: styles.cameraFallbackText,
118
+ children: "Camera unavailable."
119
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
120
+ style: styles.cameraFallbackHint,
121
+ children: "Please enter computer IP manually."
122
+ })]
119
123
  })]
120
124
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
121
- style: styles.footer,
122
- children: [!cameraFailed && !error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
123
- style: styles.hint,
124
- children: "Scan a Metro QR code."
125
- }), error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
126
- style: styles.error,
127
- children: error
125
+ style: styles.topBar,
126
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
127
+ style: styles.titleGroup,
128
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
129
+ style: styles.title,
130
+ children: "Scan Metro QR"
131
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
132
+ style: styles.subtitle,
133
+ children: "Expo or Metro URL"
134
+ })]
128
135
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
129
136
  style: styles.closeButton,
130
137
  onPress: onClose,
131
- activeOpacity: 0.7,
138
+ activeOpacity: 0.75,
132
139
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
133
140
  style: styles.closeButtonText,
134
141
  children: "Close"
135
142
  })
136
143
  })]
137
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
138
- style: styles.topClose,
139
- onPress: onClose,
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
145
+ style: [styles.statusPill, error && styles.statusPillError],
140
146
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
141
- style: styles.topCloseText,
142
- children: "Close"
147
+ style: [styles.statusText, error && styles.statusTextError],
148
+ children: error ?? 'Point the camera at exp:// or http:// Metro URL.'
143
149
  })
144
150
  })]
145
151
  })
@@ -150,11 +156,14 @@ const styles = _reactNative.StyleSheet.create({
150
156
  flex: 1,
151
157
  backgroundColor: '#000'
152
158
  },
159
+ previewLayer: {
160
+ ..._reactNative.StyleSheet.absoluteFillObject
161
+ },
153
162
  camera: {
154
- flex: 1
163
+ ..._reactNative.StyleSheet.absoluteFillObject
155
164
  },
156
165
  cameraFallback: {
157
- flex: 1,
166
+ ..._reactNative.StyleSheet.absoluteFillObject,
158
167
  justifyContent: 'center',
159
168
  alignItems: 'center',
160
169
  padding: 24
@@ -170,45 +179,70 @@ const styles = _reactNative.StyleSheet.create({
170
179
  color: 'rgba(255,255,255,0.6)',
171
180
  textAlign: 'center'
172
181
  },
173
- footer: {
174
- padding: 16,
175
- backgroundColor: _colors.Colors.surface
182
+ topBar: {
183
+ position: 'absolute',
184
+ top: 44,
185
+ left: 16,
186
+ right: 16,
187
+ flexDirection: 'row',
188
+ alignItems: 'center',
189
+ justifyContent: 'space-between',
190
+ paddingLeft: 14,
191
+ paddingRight: 8,
192
+ paddingVertical: 8,
193
+ borderRadius: 12,
194
+ backgroundColor: 'rgba(0,0,0,0.62)'
176
195
  },
177
- hint: {
178
- fontSize: 13,
179
- color: _colors.Colors.textSecondary,
180
- marginBottom: 12
196
+ titleGroup: {
197
+ flex: 1,
198
+ paddingRight: 10
181
199
  },
182
- error: {
183
- fontSize: 13,
184
- color: _colors.Colors.error,
185
- marginBottom: 12
200
+ title: {
201
+ color: '#fff',
202
+ fontSize: 15,
203
+ fontWeight: '700'
204
+ },
205
+ subtitle: {
206
+ color: 'rgba(255,255,255,0.68)',
207
+ fontSize: 11,
208
+ marginTop: 2
186
209
  },
187
210
  closeButton: {
188
211
  alignItems: 'center',
189
212
  justifyContent: 'center',
190
- paddingVertical: 11,
191
- borderRadius: 10,
192
- backgroundColor: _colors.Colors.primary
213
+ paddingHorizontal: 12,
214
+ paddingVertical: 8,
215
+ borderRadius: 8,
216
+ backgroundColor: 'rgba(255,255,255,0.14)'
193
217
  },
194
218
  closeButtonText: {
195
219
  color: '#fff',
196
220
  fontSize: 14,
197
221
  fontWeight: '600'
198
222
  },
199
- topClose: {
223
+ statusPill: {
200
224
  position: 'absolute',
201
- top: 48,
225
+ left: 16,
202
226
  right: 16,
203
- paddingHorizontal: 12,
204
- paddingVertical: 8,
205
- borderRadius: 8,
206
- backgroundColor: 'rgba(0,0,0,0.55)'
227
+ bottom: 30,
228
+ paddingHorizontal: 14,
229
+ paddingVertical: 11,
230
+ borderRadius: 12,
231
+ backgroundColor: 'rgba(0,0,0,0.62)'
232
+ },
233
+ statusPillError: {
234
+ backgroundColor: `${_colors.Colors.error}22`,
235
+ borderWidth: 1,
236
+ borderColor: `${_colors.Colors.error}66`
207
237
  },
208
- topCloseText: {
238
+ statusText: {
209
239
  color: '#fff',
210
240
  fontSize: 13,
211
- fontWeight: '600'
241
+ textAlign: 'center',
242
+ lineHeight: 18
243
+ },
244
+ statusTextError: {
245
+ color: '#fff'
212
246
  }
213
247
  });
214
248
  //# sourceMappingURL=DevConnectQrScanner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colors","_cameraKit","_devConnectUtils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CameraErrorBoundary","Component","state","hasError","getDerivedStateFromError","componentDidCatch","error","console","warn","message","props","onCameraError","render","children","DevConnectQrScanner","visible","onClose","onScanTarget","scannedRef","useRef","setError","useState","cameraFailed","setCameraFailed","scanner","getScannerModule","useEffect","current","handleScanned","useCallback","rawValue","parsed","parseMetroQrPayload","computerHost","metroPort","handleCameraKitRead","event","nativeEvent","codeStringValue","handleExpoScanned","result","value","handleCameraError","_msg","jsx","Modal","animationType","onRequestClose","jsxs","View","style","styles","container","kind","CameraKit","Camera","camera","cameraType","CameraType","Back","scanBarcode","onReadCode","showFrame","laserColor","Colors","primary","frameColor","allowedBarcodeTypes","ExpoCamera","onBarCodeScanned","barCodeScannerSettings","barCodeTypes","cameraFallback","Text","cameraFallbackText","cameraFallbackHint","footer","hint","TouchableOpacity","closeButton","onPress","activeOpacity","closeButtonText","Pressable","topClose","topCloseText","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","padding","fontSize","color","fontWeight","marginBottom","textAlign","surface","textSecondary","paddingVertical","borderRadius","position","top","right","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectQrScanner.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colors","_cameraKit","_devConnectUtils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CameraErrorBoundary","Component","state","hasError","getDerivedStateFromError","componentDidCatch","error","console","warn","message","props","onCameraError","render","children","DevConnectQrScanner","visible","onClose","onScanTarget","scannedRef","useRef","setError","useState","cameraFailed","setCameraFailed","scanner","getScannerModule","useEffect","current","handleScanned","useCallback","rawValue","parsed","parseMetroQrPayload","computerHost","metroPort","handleCameraKitRead","event","nativeEvent","codeStringValue","handleExpoScanned","result","value","handleCameraError","_msg","jsx","Modal","animationType","presentationStyle","onRequestClose","jsxs","View","style","styles","container","previewLayer","kind","CameraKit","Camera","camera","cameraType","CameraType","Back","scanBarcode","onReadCode","showFrame","laserColor","Colors","primary","frameColor","allowedBarcodeTypes","ExpoCamera","onBarCodeScanned","barCodeScannerSettings","barCodeTypes","cameraFallback","Text","cameraFallbackText","cameraFallbackHint","topBar","titleGroup","title","subtitle","TouchableOpacity","closeButton","onPress","activeOpacity","closeButtonText","statusPill","statusPillError","statusText","statusTextError","StyleSheet","create","flex","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","fontSize","color","fontWeight","marginBottom","textAlign","position","top","left","right","flexDirection","paddingLeft","paddingRight","paddingVertical","borderRadius","marginTop","paddingHorizontal","bottom","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectQrScanner.tsx"],"mappings":"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","ignoreList":[]}
@@ -72,7 +72,6 @@ async function applyMetroBundle(host, port) {
72
72
  }
73
73
  try {
74
74
  const result = await nativeModule.applyMetroHost(target.hostPort);
75
- _reactNative.DevSettings.reload?.('DebugToolkit DevConnect Metro host changed');
76
75
  return {
77
76
  ok: true,
78
77
  hostPort: result && typeof result.hostPort === 'string' ? result.hostPort : target.hostPort
@@ -95,7 +94,6 @@ async function resetMetroBundle() {
95
94
  }
96
95
  try {
97
96
  await nativeModule.resetMetroHost();
98
- _reactNative.DevSettings.reload?.('DebugToolkit DevConnect Metro host reset');
99
97
  return {
100
98
  ok: true
101
99
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_devConnectUtils","getNativeModule","nativeModule","NativeModules","DebugToolkitDevConnect","applyMetroHost","resetMetroHost","isNativeDevConnectAvailable","checkMetroStatus","statusUrl","fetchImpl","globalThis","fetch","ok","reason","error","response","method","body","text","includes","Error","message","String","applyMetroBundle","host","port","target","buildMetroTarget","statusError","result","hostPort","DevSettings","reload","resetMetroBundle"],"sourceRoot":"../../../../src","sources":["features/devConnect/nativeDevConnect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_devConnectUtils","getNativeModule","nativeModule","NativeModules","DebugToolkitDevConnect","applyMetroHost","resetMetroHost","isNativeDevConnectAvailable","checkMetroStatus","statusUrl","fetchImpl","globalThis","fetch","ok","reason","error","response","method","body","text","includes","Error","message","String","applyMetroBundle","host","port","target","buildMetroTarget","statusError","result","hostPort","resetMetroBundle"],"sourceRoot":"../../../../src","sources":["features/devConnect/nativeDevConnect.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { Component, useCallback, useEffect, useRef, useState } from 'react';
4
- import { Modal, Pressable, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
4
+ import { Modal, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
5
  import { Colors } from '../../ui/theme/colors';
6
6
  import { getScannerModule } from './cameraKit';
7
7
  import { parseMetroQrPayload } from './devConnectUtils';
@@ -82,59 +82,65 @@ export function DevConnectQrScanner({
82
82
  return /*#__PURE__*/_jsx(Modal, {
83
83
  visible: visible,
84
84
  animationType: "slide",
85
+ presentationStyle: "fullScreen",
85
86
  onRequestClose: onClose,
86
87
  children: /*#__PURE__*/_jsxs(View, {
87
88
  style: styles.container,
88
- children: [!cameraFailed && /*#__PURE__*/_jsx(CameraErrorBoundary, {
89
- onCameraError: handleCameraError,
90
- children: scanner.kind === 'camera-kit' && scanner.CameraKit ? /*#__PURE__*/_jsx(scanner.CameraKit.Camera, {
91
- style: styles.camera,
92
- cameraType: scanner.CameraKit.CameraType?.Back,
93
- scanBarcode: true,
94
- onReadCode: handleCameraKitRead,
95
- showFrame: true,
96
- laserColor: Colors.primary,
97
- frameColor: Colors.primary,
98
- allowedBarcodeTypes: ['qr']
99
- }) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? /*#__PURE__*/_jsx(scanner.ExpoCamera.Camera, {
100
- style: styles.camera,
101
- onBarCodeScanned: handleExpoScanned,
102
- barCodeScannerSettings: {
103
- barCodeTypes: ['qr']
104
- }
105
- }) : null
106
- }), cameraFailed && /*#__PURE__*/_jsxs(View, {
107
- style: styles.cameraFallback,
108
- children: [/*#__PURE__*/_jsx(Text, {
109
- style: styles.cameraFallbackText,
110
- children: "Camera unavailable."
111
- }), /*#__PURE__*/_jsx(Text, {
112
- style: styles.cameraFallbackHint,
113
- children: "Please enter computer IP manually."
89
+ children: [/*#__PURE__*/_jsxs(View, {
90
+ style: styles.previewLayer,
91
+ children: [!cameraFailed && /*#__PURE__*/_jsx(CameraErrorBoundary, {
92
+ onCameraError: handleCameraError,
93
+ children: scanner.kind === 'camera-kit' && scanner.CameraKit ? /*#__PURE__*/_jsx(scanner.CameraKit.Camera, {
94
+ style: styles.camera,
95
+ cameraType: scanner.CameraKit.CameraType?.Back,
96
+ scanBarcode: true,
97
+ onReadCode: handleCameraKitRead,
98
+ showFrame: true,
99
+ laserColor: Colors.primary,
100
+ frameColor: Colors.primary,
101
+ allowedBarcodeTypes: ['qr']
102
+ }) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? /*#__PURE__*/_jsx(scanner.ExpoCamera.Camera, {
103
+ style: styles.camera,
104
+ onBarCodeScanned: handleExpoScanned,
105
+ barCodeScannerSettings: {
106
+ barCodeTypes: ['qr']
107
+ }
108
+ }) : null
109
+ }), cameraFailed && /*#__PURE__*/_jsxs(View, {
110
+ style: styles.cameraFallback,
111
+ children: [/*#__PURE__*/_jsx(Text, {
112
+ style: styles.cameraFallbackText,
113
+ children: "Camera unavailable."
114
+ }), /*#__PURE__*/_jsx(Text, {
115
+ style: styles.cameraFallbackHint,
116
+ children: "Please enter computer IP manually."
117
+ })]
114
118
  })]
115
119
  }), /*#__PURE__*/_jsxs(View, {
116
- style: styles.footer,
117
- children: [!cameraFailed && !error && /*#__PURE__*/_jsx(Text, {
118
- style: styles.hint,
119
- children: "Scan a Metro QR code."
120
- }), error && /*#__PURE__*/_jsx(Text, {
121
- style: styles.error,
122
- children: error
120
+ style: styles.topBar,
121
+ children: [/*#__PURE__*/_jsxs(View, {
122
+ style: styles.titleGroup,
123
+ children: [/*#__PURE__*/_jsx(Text, {
124
+ style: styles.title,
125
+ children: "Scan Metro QR"
126
+ }), /*#__PURE__*/_jsx(Text, {
127
+ style: styles.subtitle,
128
+ children: "Expo or Metro URL"
129
+ })]
123
130
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
124
131
  style: styles.closeButton,
125
132
  onPress: onClose,
126
- activeOpacity: 0.7,
133
+ activeOpacity: 0.75,
127
134
  children: /*#__PURE__*/_jsx(Text, {
128
135
  style: styles.closeButtonText,
129
136
  children: "Close"
130
137
  })
131
138
  })]
132
- }), /*#__PURE__*/_jsx(Pressable, {
133
- style: styles.topClose,
134
- onPress: onClose,
139
+ }), /*#__PURE__*/_jsx(View, {
140
+ style: [styles.statusPill, error && styles.statusPillError],
135
141
  children: /*#__PURE__*/_jsx(Text, {
136
- style: styles.topCloseText,
137
- children: "Close"
142
+ style: [styles.statusText, error && styles.statusTextError],
143
+ children: error ?? 'Point the camera at exp:// or http:// Metro URL.'
138
144
  })
139
145
  })]
140
146
  })
@@ -145,11 +151,14 @@ const styles = StyleSheet.create({
145
151
  flex: 1,
146
152
  backgroundColor: '#000'
147
153
  },
154
+ previewLayer: {
155
+ ...StyleSheet.absoluteFillObject
156
+ },
148
157
  camera: {
149
- flex: 1
158
+ ...StyleSheet.absoluteFillObject
150
159
  },
151
160
  cameraFallback: {
152
- flex: 1,
161
+ ...StyleSheet.absoluteFillObject,
153
162
  justifyContent: 'center',
154
163
  alignItems: 'center',
155
164
  padding: 24
@@ -165,45 +174,70 @@ const styles = StyleSheet.create({
165
174
  color: 'rgba(255,255,255,0.6)',
166
175
  textAlign: 'center'
167
176
  },
168
- footer: {
169
- padding: 16,
170
- backgroundColor: Colors.surface
177
+ topBar: {
178
+ position: 'absolute',
179
+ top: 44,
180
+ left: 16,
181
+ right: 16,
182
+ flexDirection: 'row',
183
+ alignItems: 'center',
184
+ justifyContent: 'space-between',
185
+ paddingLeft: 14,
186
+ paddingRight: 8,
187
+ paddingVertical: 8,
188
+ borderRadius: 12,
189
+ backgroundColor: 'rgba(0,0,0,0.62)'
171
190
  },
172
- hint: {
173
- fontSize: 13,
174
- color: Colors.textSecondary,
175
- marginBottom: 12
191
+ titleGroup: {
192
+ flex: 1,
193
+ paddingRight: 10
176
194
  },
177
- error: {
178
- fontSize: 13,
179
- color: Colors.error,
180
- marginBottom: 12
195
+ title: {
196
+ color: '#fff',
197
+ fontSize: 15,
198
+ fontWeight: '700'
199
+ },
200
+ subtitle: {
201
+ color: 'rgba(255,255,255,0.68)',
202
+ fontSize: 11,
203
+ marginTop: 2
181
204
  },
182
205
  closeButton: {
183
206
  alignItems: 'center',
184
207
  justifyContent: 'center',
185
- paddingVertical: 11,
186
- borderRadius: 10,
187
- backgroundColor: Colors.primary
208
+ paddingHorizontal: 12,
209
+ paddingVertical: 8,
210
+ borderRadius: 8,
211
+ backgroundColor: 'rgba(255,255,255,0.14)'
188
212
  },
189
213
  closeButtonText: {
190
214
  color: '#fff',
191
215
  fontSize: 14,
192
216
  fontWeight: '600'
193
217
  },
194
- topClose: {
218
+ statusPill: {
195
219
  position: 'absolute',
196
- top: 48,
220
+ left: 16,
197
221
  right: 16,
198
- paddingHorizontal: 12,
199
- paddingVertical: 8,
200
- borderRadius: 8,
201
- backgroundColor: 'rgba(0,0,0,0.55)'
222
+ bottom: 30,
223
+ paddingHorizontal: 14,
224
+ paddingVertical: 11,
225
+ borderRadius: 12,
226
+ backgroundColor: 'rgba(0,0,0,0.62)'
227
+ },
228
+ statusPillError: {
229
+ backgroundColor: `${Colors.error}22`,
230
+ borderWidth: 1,
231
+ borderColor: `${Colors.error}66`
202
232
  },
203
- topCloseText: {
233
+ statusText: {
204
234
  color: '#fff',
205
235
  fontSize: 13,
206
- fontWeight: '600'
236
+ textAlign: 'center',
237
+ lineHeight: 18
238
+ },
239
+ statusTextError: {
240
+ color: '#fff'
207
241
  }
208
242
  });
209
243
  //# sourceMappingURL=DevConnectQrScanner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","useCallback","useEffect","useRef","useState","Modal","Pressable","StyleSheet","Text","TouchableOpacity","View","Colors","getScannerModule","parseMetroQrPayload","jsx","_jsx","jsxs","_jsxs","CameraErrorBoundary","state","hasError","getDerivedStateFromError","componentDidCatch","error","console","warn","message","props","onCameraError","render","children","DevConnectQrScanner","visible","onClose","onScanTarget","scannedRef","setError","cameraFailed","setCameraFailed","scanner","current","handleScanned","rawValue","parsed","computerHost","metroPort","handleCameraKitRead","event","nativeEvent","codeStringValue","handleExpoScanned","result","value","handleCameraError","_msg","animationType","onRequestClose","style","styles","container","kind","CameraKit","Camera","camera","cameraType","CameraType","Back","scanBarcode","onReadCode","showFrame","laserColor","primary","frameColor","allowedBarcodeTypes","ExpoCamera","onBarCodeScanned","barCodeScannerSettings","barCodeTypes","cameraFallback","cameraFallbackText","cameraFallbackHint","footer","hint","closeButton","onPress","activeOpacity","closeButtonText","topClose","topCloseText","create","flex","backgroundColor","justifyContent","alignItems","padding","fontSize","color","fontWeight","marginBottom","textAlign","surface","textSecondary","paddingVertical","borderRadius","position","top","right","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectQrScanner.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","useCallback","useEffect","useRef","useState","Modal","StyleSheet","Text","TouchableOpacity","View","Colors","getScannerModule","parseMetroQrPayload","jsx","_jsx","jsxs","_jsxs","CameraErrorBoundary","state","hasError","getDerivedStateFromError","componentDidCatch","error","console","warn","message","props","onCameraError","render","children","DevConnectQrScanner","visible","onClose","onScanTarget","scannedRef","setError","cameraFailed","setCameraFailed","scanner","current","handleScanned","rawValue","parsed","computerHost","metroPort","handleCameraKitRead","event","nativeEvent","codeStringValue","handleExpoScanned","result","value","handleCameraError","_msg","animationType","presentationStyle","onRequestClose","style","styles","container","previewLayer","kind","CameraKit","Camera","camera","cameraType","CameraType","Back","scanBarcode","onReadCode","showFrame","laserColor","primary","frameColor","allowedBarcodeTypes","ExpoCamera","onBarCodeScanned","barCodeScannerSettings","barCodeTypes","cameraFallback","cameraFallbackText","cameraFallbackHint","topBar","titleGroup","title","subtitle","closeButton","onPress","activeOpacity","closeButtonText","statusPill","statusPillError","statusText","statusTextError","create","flex","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","fontSize","color","fontWeight","marginBottom","textAlign","position","top","left","right","flexDirection","paddingLeft","paddingRight","paddingVertical","borderRadius","marginTop","paddingHorizontal","bottom","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../../src","sources":["features/devConnect/DevConnectQrScanner.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { DevSettings, NativeModules } from 'react-native';
3
+ import { NativeModules } from 'react-native';
4
4
  import { buildMetroTarget } from './devConnectUtils';
5
5
  function getNativeModule() {
6
6
  const nativeModule = NativeModules.DebugToolkitDevConnect;
@@ -66,7 +66,6 @@ export async function applyMetroBundle(host, port) {
66
66
  }
67
67
  try {
68
68
  const result = await nativeModule.applyMetroHost(target.hostPort);
69
- DevSettings.reload?.('DebugToolkit DevConnect Metro host changed');
70
69
  return {
71
70
  ok: true,
72
71
  hostPort: result && typeof result.hostPort === 'string' ? result.hostPort : target.hostPort
@@ -89,7 +88,6 @@ export async function resetMetroBundle() {
89
88
  }
90
89
  try {
91
90
  await nativeModule.resetMetroHost();
92
- DevSettings.reload?.('DebugToolkit DevConnect Metro host reset');
93
91
  return {
94
92
  ok: true
95
93
  };
@@ -1 +1 @@
1
- {"version":3,"names":["DevSettings","NativeModules","buildMetroTarget","getNativeModule","nativeModule","DebugToolkitDevConnect","applyMetroHost","resetMetroHost","isNativeDevConnectAvailable","checkMetroStatus","statusUrl","fetchImpl","globalThis","fetch","ok","reason","error","response","method","body","text","includes","Error","message","String","applyMetroBundle","host","port","target","statusError","result","hostPort","reload","resetMetroBundle"],"sourceRoot":"../../../../src","sources":["features/devConnect/nativeDevConnect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","buildMetroTarget","getNativeModule","nativeModule","DebugToolkitDevConnect","applyMetroHost","resetMetroHost","isNativeDevConnectAvailable","checkMetroStatus","statusUrl","fetchImpl","globalThis","fetch","ok","reason","error","response","method","body","text","includes","Error","message","String","applyMetroBundle","host","port","target","statusError","result","hostPort","resetMetroBundle"],"sourceRoot":"../../../../src","sources":["features/devConnect/nativeDevConnect.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,SAASC,gBAAgB,QAAQ,mBAAmB;AA2BpD,SAASC,eAAeA,CAAA,EAA8C;EACpE,MAAMC,YAAY,GAAGH,aAAa,CAACI,sBAAiF;EACpH,IACED,YAAY,IACZ,OAAOA,YAAY,CAACE,cAAc,KAAK,UAAU,IACjD,OAAOF,YAAY,CAACG,cAAc,KAAK,UAAU,EACjD;IACA,OAAOH,YAAY;EACrB;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAASI,2BAA2BA,CAAA,EAAY;EACrD,OAAOL,eAAe,CAAC,CAAC,KAAK,IAAI;AACnC;AAEA,eAAeM,gBAAgBA,CAACC,SAAiB,EAAqC;EACpF,MAAMC,SAAS,GAAGC,UAAU,CAACC,KAA8B;EAC3D,IAAI,CAACF,SAAS,EAAE;IACd,OAAO;MACLG,EAAE,EAAE,KAAK;MACTC,MAAM,EAAE,mBAAmB;MAC3BL,SAAS;MACTM,KAAK,EAAE;IACT,CAAC;EACH;EAEA,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMN,SAAS,CAACD,SAAS,EAAE;MAAEQ,MAAM,EAAE;IAAM,CAAC,CAAC;IAC9D,MAAMC,IAAI,GAAG,OAAOF,QAAQ,CAACG,IAAI,KAAK,UAAU,GAAG,MAAMH,QAAQ,CAACG,IAAI,CAAC,CAAC,GAAG,EAAE;IAC7E,IAAIH,QAAQ,CAACH,EAAE,KAAK,KAAK,IAAI,CAACK,IAAI,CAACE,QAAQ,CAAC,yBAAyB,CAAC,EAAE;MACtE,OAAO;QACLP,EAAE,EAAE,KAAK;QACTC,MAAM,EAAE,mBAAmB;QAC3BL,SAAS;QACTM,KAAK,EAAEG,IAAI,IAAI;MACjB,CAAC;IACH;IACA,OAAO,IAAI;EACb,CAAC,CAAC,OAAOH,KAAK,EAAE;IACd,OAAO;MACLF,EAAE,EAAE,KAAK;MACTC,MAAM,EAAE,mBAAmB;MAC3BL,SAAS;MACTM,KAAK,EAAEA,KAAK,YAAYM,KAAK,GAAGN,KAAK,CAACO,OAAO,GAAGC,MAAM,CAACR,KAAK;IAC9D,CAAC;EACH;AACF;AAEA,OAAO,eAAeS,gBAAgBA,CAACC,IAAY,EAAEC,IAAY,EAA8B;EAC7F,MAAMC,MAAM,GAAG1B,gBAAgB,CAACwB,IAAI,EAAEC,IAAI,CAAC;EAC3C,IAAI,CAACC,MAAM,EAAE;IACX,OAAO;MAAEd,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAiB,CAAC;EAChD;EAEA,MAAMX,YAAY,GAAGD,eAAe,CAAC,CAAC;EACtC,IAAI,CAACC,YAAY,EAAE;IACjB,OAAO;MAAEU,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAqB,CAAC;EACpD;EAEA,MAAMc,WAAW,GAAG,MAAMpB,gBAAgB,CAACmB,MAAM,CAAClB,SAAS,CAAC;EAC5D,IAAImB,WAAW,EAAE;IACf,OAAOA,WAAW;EACpB;EAEA,IAAI;IACF,MAAMC,MAAM,GAAG,MAAM1B,YAAY,CAACE,cAAc,CAACsB,MAAM,CAACG,QAAQ,CAAC;IACjE,OAAO;MACLjB,EAAE,EAAE,IAAI;MACRiB,QAAQ,EAAED,MAAM,IAAI,OAAOA,MAAM,CAACC,QAAQ,KAAK,QAAQ,GAAGD,MAAM,CAACC,QAAQ,GAAGH,MAAM,CAACG;IACrF,CAAC;EACH,CAAC,CAAC,OAAOf,KAAK,EAAE;IACd,OAAO;MACLF,EAAE,EAAE,KAAK;MACTC,MAAM,EAAE,cAAc;MACtBC,KAAK,EAAEA,KAAK,YAAYM,KAAK,GAAGN,KAAK,CAACO,OAAO,GAAGC,MAAM,CAACR,KAAK;IAC9D,CAAC;EACH;AACF;AAEA,OAAO,eAAegB,gBAAgBA,CAAA,EAA8C;EAClF,MAAM5B,YAAY,GAAGD,eAAe,CAAC,CAAC;EACtC,IAAI,CAACC,YAAY,EAAE;IACjB,OAAO;MAAEU,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAqB,CAAC;EACpD;EAEA,IAAI;IACF,MAAMX,YAAY,CAACG,cAAc,CAAC,CAAC;IACnC,OAAO;MAAEO,EAAE,EAAE;IAAK,CAAC;EACrB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO;MACLF,EAAE,EAAE,KAAK;MACTC,MAAM,EAAE,cAAc;MACtBC,KAAK,EAAEA,KAAK,YAAYM,KAAK,GAAGN,KAAK,CAACO,OAAO,GAAGC,MAAM,CAACR,KAAK;IAC9D,CAAC;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DevConnectQrScanner.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/DevConnectQrScanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAgBnF,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAmCnF,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,wBAAwB,4BAiG/F"}
1
+ {"version":3,"file":"DevConnectQrScanner.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/DevConnectQrScanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAenF,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAmCnF,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,wBAAwB,4BAyG/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"nativeDevConnect.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/nativeDevConnect.ts"],"names":[],"mappings":"AAUA,KAAK,wBAAwB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBxF,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAmCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8B7F;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAiBlF"}
1
+ {"version":3,"file":"nativeDevConnect.d.ts","sourceRoot":"","sources":["../../../../../src/features/devConnect/nativeDevConnect.ts"],"names":[],"mappings":"AAUA,KAAK,wBAAwB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBxF,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAmCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6B7F;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAgBlF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-debug-toolkit",
3
- "version": "3.2.2",
3
+ "version": "3.2.3",
4
4
  "description": "A local-first React Native debug toolkit with Web Console, HTTP API, and MCP support for AI-readable app logs",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -1,7 +1,6 @@
1
1
  import React, { Component, useCallback, useEffect, useRef, useState } from 'react';
2
2
  import {
3
3
  Modal,
4
- Pressable,
5
4
  StyleSheet,
6
5
  Text,
7
6
  TouchableOpacity,
@@ -109,46 +108,54 @@ export function DevConnectQrScanner({ visible, onClose, onScanTarget }: DevConne
109
108
  }
110
109
 
111
110
  return (
112
- <Modal visible={visible} animationType="slide" onRequestClose={onClose}>
111
+ <Modal visible={visible} animationType="slide" presentationStyle="fullScreen" onRequestClose={onClose}>
113
112
  <View style={styles.container}>
114
- {!cameraFailed && (
115
- <CameraErrorBoundary onCameraError={handleCameraError}>
116
- {scanner.kind === 'camera-kit' && scanner.CameraKit ? (
117
- <scanner.CameraKit.Camera
118
- style={styles.camera}
119
- cameraType={scanner.CameraKit.CameraType?.Back}
120
- scanBarcode
121
- onReadCode={handleCameraKitRead}
122
- showFrame
123
- laserColor={Colors.primary}
124
- frameColor={Colors.primary}
125
- allowedBarcodeTypes={['qr']}
126
- />
127
- ) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? (
128
- <scanner.ExpoCamera.Camera
129
- style={styles.camera}
130
- onBarCodeScanned={handleExpoScanned}
131
- barCodeScannerSettings={{ barCodeTypes: ['qr'] }}
132
- />
133
- ) : null}
134
- </CameraErrorBoundary>
135
- )}
136
- {cameraFailed && (
137
- <View style={styles.cameraFallback}>
138
- <Text style={styles.cameraFallbackText}>Camera unavailable.</Text>
139
- <Text style={styles.cameraFallbackHint}>Please enter computer IP manually.</Text>
113
+ <View style={styles.previewLayer}>
114
+ {!cameraFailed && (
115
+ <CameraErrorBoundary onCameraError={handleCameraError}>
116
+ {scanner.kind === 'camera-kit' && scanner.CameraKit ? (
117
+ <scanner.CameraKit.Camera
118
+ style={styles.camera}
119
+ cameraType={scanner.CameraKit.CameraType?.Back}
120
+ scanBarcode
121
+ onReadCode={handleCameraKitRead}
122
+ showFrame
123
+ laserColor={Colors.primary}
124
+ frameColor={Colors.primary}
125
+ allowedBarcodeTypes={['qr']}
126
+ />
127
+ ) : scanner.kind === 'expo-camera' && scanner.ExpoCamera ? (
128
+ <scanner.ExpoCamera.Camera
129
+ style={styles.camera}
130
+ onBarCodeScanned={handleExpoScanned}
131
+ barCodeScannerSettings={{ barCodeTypes: ['qr'] }}
132
+ />
133
+ ) : null}
134
+ </CameraErrorBoundary>
135
+ )}
136
+ {cameraFailed && (
137
+ <View style={styles.cameraFallback}>
138
+ <Text style={styles.cameraFallbackText}>Camera unavailable.</Text>
139
+ <Text style={styles.cameraFallbackHint}>Please enter computer IP manually.</Text>
140
+ </View>
141
+ )}
142
+ </View>
143
+
144
+ <View style={styles.topBar}>
145
+ <View style={styles.titleGroup}>
146
+ <Text style={styles.title}>Scan Metro QR</Text>
147
+ <Text style={styles.subtitle}>Expo or Metro URL</Text>
140
148
  </View>
141
- )}
142
- <View style={styles.footer}>
143
- {!cameraFailed && !error && <Text style={styles.hint}>Scan a Metro QR code.</Text>}
144
- {error && <Text style={styles.error}>{error}</Text>}
145
- <TouchableOpacity style={styles.closeButton} onPress={onClose} activeOpacity={0.7}>
149
+ <TouchableOpacity style={styles.closeButton} onPress={onClose} activeOpacity={0.75}>
146
150
  <Text style={styles.closeButtonText}>Close</Text>
147
151
  </TouchableOpacity>
148
152
  </View>
149
- <Pressable style={styles.topClose} onPress={onClose}>
150
- <Text style={styles.topCloseText}>Close</Text>
151
- </Pressable>
153
+
154
+ <View style={[styles.statusPill, error && styles.statusPillError]}>
155
+ <Text style={[styles.statusText, error && styles.statusTextError]}>
156
+ {error ?? 'Point the camera at exp:// or http:// Metro URL.'}
157
+ </Text>
158
+ </View>
152
159
  </View>
153
160
  </Modal>
154
161
  );
@@ -156,29 +163,52 @@ export function DevConnectQrScanner({ visible, onClose, onScanTarget }: DevConne
156
163
 
157
164
  const styles = StyleSheet.create({
158
165
  container: { flex: 1, backgroundColor: '#000' },
159
- camera: { flex: 1 },
160
- cameraFallback: { flex: 1, justifyContent: 'center', alignItems: 'center', padding: 24 },
166
+ previewLayer: { ...StyleSheet.absoluteFillObject },
167
+ camera: { ...StyleSheet.absoluteFillObject },
168
+ cameraFallback: { ...StyleSheet.absoluteFillObject, justifyContent: 'center', alignItems: 'center', padding: 24 },
161
169
  cameraFallbackText: { fontSize: 16, color: '#fff', fontWeight: '600', marginBottom: 8 },
162
170
  cameraFallbackHint: { fontSize: 13, color: 'rgba(255,255,255,0.6)', textAlign: 'center' },
163
- footer: { padding: 16, backgroundColor: Colors.surface },
164
- hint: { fontSize: 13, color: Colors.textSecondary, marginBottom: 12 },
165
- error: { fontSize: 13, color: Colors.error, marginBottom: 12 },
171
+ topBar: {
172
+ position: 'absolute',
173
+ top: 44,
174
+ left: 16,
175
+ right: 16,
176
+ flexDirection: 'row',
177
+ alignItems: 'center',
178
+ justifyContent: 'space-between',
179
+ paddingLeft: 14,
180
+ paddingRight: 8,
181
+ paddingVertical: 8,
182
+ borderRadius: 12,
183
+ backgroundColor: 'rgba(0,0,0,0.62)',
184
+ },
185
+ titleGroup: { flex: 1, paddingRight: 10 },
186
+ title: { color: '#fff', fontSize: 15, fontWeight: '700' },
187
+ subtitle: { color: 'rgba(255,255,255,0.68)', fontSize: 11, marginTop: 2 },
166
188
  closeButton: {
167
189
  alignItems: 'center',
168
190
  justifyContent: 'center',
169
- paddingVertical: 11,
170
- borderRadius: 10,
171
- backgroundColor: Colors.primary,
191
+ paddingHorizontal: 12,
192
+ paddingVertical: 8,
193
+ borderRadius: 8,
194
+ backgroundColor: 'rgba(255,255,255,0.14)',
172
195
  },
173
196
  closeButtonText: { color: '#fff', fontSize: 14, fontWeight: '600' },
174
- topClose: {
197
+ statusPill: {
175
198
  position: 'absolute',
176
- top: 48,
199
+ left: 16,
177
200
  right: 16,
178
- paddingHorizontal: 12,
179
- paddingVertical: 8,
180
- borderRadius: 8,
181
- backgroundColor: 'rgba(0,0,0,0.55)',
201
+ bottom: 30,
202
+ paddingHorizontal: 14,
203
+ paddingVertical: 11,
204
+ borderRadius: 12,
205
+ backgroundColor: 'rgba(0,0,0,0.62)',
206
+ },
207
+ statusPillError: {
208
+ backgroundColor: `${Colors.error}22`,
209
+ borderWidth: 1,
210
+ borderColor: `${Colors.error}66`,
182
211
  },
183
- topCloseText: { color: '#fff', fontSize: 13, fontWeight: '600' },
212
+ statusText: { color: '#fff', fontSize: 13, textAlign: 'center', lineHeight: 18 },
213
+ statusTextError: { color: '#fff' },
184
214
  });
@@ -1,4 +1,4 @@
1
- import { DevSettings, NativeModules } from 'react-native';
1
+ import { NativeModules } from 'react-native';
2
2
 
3
3
  import { buildMetroTarget } from './devConnectUtils';
4
4
 
@@ -94,7 +94,6 @@ export async function applyMetroBundle(host: string, port: string): Promise<Metr
94
94
 
95
95
  try {
96
96
  const result = await nativeModule.applyMetroHost(target.hostPort);
97
- DevSettings.reload?.('DebugToolkit DevConnect Metro host changed');
98
97
  return {
99
98
  ok: true,
100
99
  hostPort: result && typeof result.hostPort === 'string' ? result.hostPort : target.hostPort,
@@ -116,7 +115,6 @@ export async function resetMetroBundle(): Promise<MetroBundleResult | { ok: true
116
115
 
117
116
  try {
118
117
  await nativeModule.resetMetroHost();
119
- DevSettings.reload?.('DebugToolkit DevConnect Metro host reset');
120
118
  return { ok: true };
121
119
  } catch (error) {
122
120
  return {