react-native-inapp-inspector 2.3.20 → 2.3.22

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.
Files changed (61) hide show
  1. package/README.md +14 -14
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +58 -1
  3. package/dist/commonjs/components/AppHeaderLogo.js +2 -2
  4. package/dist/commonjs/components/ConsoleLogCard.js +1 -1
  5. package/dist/commonjs/components/HighlightText.js +13 -13
  6. package/dist/commonjs/components/Inspector/AboutModal.js +143 -251
  7. package/dist/commonjs/components/Inspector/DebuggingTab.js +19 -13
  8. package/dist/commonjs/components/Inspector/InspectorHeader.js +54 -80
  9. package/dist/commonjs/components/Inspector/MainScreen.js +13 -23
  10. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +4 -4
  11. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +1 -1
  12. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +1 -1
  13. package/dist/commonjs/components/Inspector/TabBar.js +7 -7
  14. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +23 -24
  15. package/dist/commonjs/components/LogCard.js +16 -16
  16. package/dist/commonjs/components/NetworkIcons.d.ts +10 -0
  17. package/dist/commonjs/components/NetworkIcons.js +46 -4
  18. package/dist/commonjs/components/QRCodeView.js +2 -2
  19. package/dist/commonjs/components/TreeNode.js +16 -16
  20. package/dist/commonjs/constants/version.d.ts +1 -1
  21. package/dist/commonjs/constants/version.js +1 -1
  22. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -1
  23. package/dist/commonjs/helpers/index.d.ts +1 -0
  24. package/dist/commonjs/helpers/index.js +2 -2
  25. package/dist/commonjs/index.js +1 -1
  26. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  27. package/dist/commonjs/native/NativeInspector.js +1 -1
  28. package/dist/commonjs/types/interfaces.d.ts +0 -2
  29. package/dist/esm/components/AppHeaderLogo.js +6 -6
  30. package/dist/esm/components/ConsoleLogCard.js +6 -6
  31. package/dist/esm/components/HighlightText.js +17 -17
  32. package/dist/esm/components/Inspector/AboutModal.js +205 -313
  33. package/dist/esm/components/Inspector/DebuggingTab.js +32 -26
  34. package/dist/esm/components/Inspector/InspectorHeader.js +96 -122
  35. package/dist/esm/components/Inspector/MainScreen.js +66 -76
  36. package/dist/esm/components/Inspector/MediaGalleryTab.js +19 -19
  37. package/dist/esm/components/Inspector/MediaPreviewModal.js +18 -18
  38. package/dist/esm/components/Inspector/NpmStarPrompt.js +1 -1
  39. package/dist/esm/components/Inspector/TabBar.js +21 -21
  40. package/dist/esm/components/Inspector/UpdateAvailableModal.js +65 -66
  41. package/dist/esm/components/LogCard.js +43 -43
  42. package/dist/esm/components/NetworkIcons.d.ts +10 -0
  43. package/dist/esm/components/NetworkIcons.js +191 -149
  44. package/dist/esm/components/QRCodeView.js +4 -4
  45. package/dist/esm/components/TreeNode.js +53 -53
  46. package/dist/esm/constants/version.d.ts +1 -1
  47. package/dist/esm/constants/version.js +1 -1
  48. package/dist/esm/customHooks/bundleAnalyzer.js +1 -1
  49. package/dist/esm/helpers/index.d.ts +1 -0
  50. package/dist/esm/helpers/index.js +4 -4
  51. package/dist/esm/index.js +7 -7
  52. package/dist/esm/native/NativeInspector.d.ts +1 -0
  53. package/dist/esm/native/NativeInspector.js +1 -1
  54. package/dist/esm/types/interfaces.d.ts +0 -2
  55. package/ios/NetworkInspectorModule.mm +39 -3
  56. package/package.json +1 -1
  57. package/src/native/NativeInspector.ts +18 -0
  58. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +0 -16
  59. package/dist/commonjs/components/Inspector/FeedbackModal.js +0 -198
  60. package/dist/esm/components/Inspector/FeedbackModal.d.ts +0 -16
  61. package/dist/esm/components/Inspector/FeedbackModal.js +0 -198
@@ -1,11 +1,11 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,e,t,r){r===void 0&&(r=t);var a=Object.getOwnPropertyDescriptor(e,t);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(o,r,a)}):(function(o,e,t,r){r===void 0&&(r=t),o[r]=e[t]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,e){Object.defineProperty(o,"default",{enumerable:!0,value:e})}):function(o,e){o.default=e}),__importStar=this&&this.__importStar||(function(){var o=function(e){return o=Object.getOwnPropertyNames||function(t){var r=[];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[r.length]=a);return r},o(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=o(e),a=0;a<r.length;a++)r[a]!=="default"&&__createBinding(t,e,r[a]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AboutModal=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),InspectorContext_1=require("./InspectorContext"),version_1=require("../../constants/version"),helpers_1=require("../../helpers"),settingsStore_1=require("../../helpers/settingsStore"),reduxLogger_1=require("../../customHooks/reduxLogger"),analyticsLogger_1=require("../../customHooks/analyticsLogger"),NetworkIcons_1=require("../NetworkIcons"),AboutModal=({onClose:o})=>{const{updateAvailable:e,latestNpmVersion:t}=(0,InspectorContext_1.useInspector)(),[r,a]=(0,react_1.useState)(!1),s=()=>{const n=react_native_1.Dimensions.get("window"),l=react_native_1.Dimensions.get("screen"),i=react_native_1.Platform.constants?.reactNativeVersion,c={package:{name:"react-native-inapp-inspector",version:`v${version_1.LIB_VERSION}`,latestNpmVersion:t?`v${t}`:"Checking...",license:"MIT",repository:"https://github.com/vengatmacuser/react-native-inapp-inspector"},hostApp:{name:(0,helpers_1.getAppName)(),bundleId:(0,helpers_1.getBundleIdentifier)(),versionAndBuild:(0,helpers_1.getAppVersionAndBuild)().formatted,buildVariant:__DEV__?"Development (Debug)":"Production (Release)",metroConnected:(0,helpers_1.isLocalDebugEnvironment)()},runtime:{reactNativeVersion:i?`${i.major}.${i.minor}.${i.patch}`:"0.74+",reactVersion:react_1.default.version,jsEngine:global?.HermesInternal?"Hermes":"JavaScriptCore (JSC)",architecture:global?.nativeFabricUIManager?"Fabric (New Architecture)":"Paper (Legacy Bridge)",turboModules:!!(global?.__turboModuleProxy||global?.TurboModuleRegistry)},device:{platform:react_native_1.Platform.OS,osVersion:react_native_1.Platform.Version,deviceModel:react_native_1.Platform.constants?.Model||"Unknown Device",windowDimensions:`${Math.round(n.width)}x${Math.round(n.height)} pt`,screenDimensions:`${Math.round(l.width)}x${Math.round(l.height)} pt`,pixelRatio:react_native_1.PixelRatio.get(),fontScale:react_native_1.PixelRatio.getFontScale(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||"Unknown",locale:Intl.DateTimeFormat().resolvedOptions().locale||"en"},storageAndCapabilities:{storageEngine:(0,settingsStore_1.isPersistentStorageAvailable)()?"MMKV (Fast Native Storage)":"In-Memory State",hasNativeModule:!!(global?.NativeInspectorModule||global?.__IN_APP_INSPECTOR_NATIVE__),reduxConnected:(0,reduxLogger_1.isReduxConnected)(),analyticsConnected:(0,analyticsLogger_1.isAnalyticsConnected)()}};(0,helpers_1.copyToClipboard)(JSON.stringify(c,null,2),"Diagnostic Specifications"),a(!0),(0,helpers_1.showToast)("Copied full diagnostic specs to clipboard!"),setTimeout(()=>a(!1),2e3)};return<react_native_1.View style={styles.container}>
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AboutModal=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),InspectorContext_1=require("./InspectorContext"),version_1=require("../../constants/version"),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),AboutModal=({onClose:e})=>{const{updateAvailable:t,latestNpmVersion:r}=(0,InspectorContext_1.useInspector)();return<react_native_1.View style={styles.container}>
2
2
  <react_native_1.ScrollView style={styles.scrollView}contentContainerStyle={styles.scrollContent}showsVerticalScrollIndicator={!1}>
3
3
 
4
4
  <react_native_1.View style={styles.heroCard}>
5
5
  <react_native_1.View style={styles.heroHeaderRow}>
6
6
  <react_native_1.View style={styles.heroBrandRow}>
7
7
  <react_native_1.View style={styles.heroIconBox}>
8
- <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple}size={22}/>
8
+ <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.brandPurple}size={24}/>
9
9
  </react_native_1.View>
10
10
  <react_native_1.View style={{flex:1}}>
11
11
  <react_native_1.View style={styles.heroTitleRow}>
@@ -13,11 +13,11 @@
13
13
  <react_native_1.View style={styles.versionBadge}>
14
14
  <react_native_1.Text style={styles.versionBadgeText}>v{version_1.LIB_VERSION}</react_native_1.Text>
15
15
  </react_native_1.View>
16
- {e?<react_native_1.View style={styles.updateBadge}>
16
+ {t?<react_native_1.View style={styles.updateBadge}>
17
17
  <react_native_1.Text style={styles.updateBadgeText}>
18
- v{t} Available
18
+ v{r} Available
19
19
  </react_native_1.Text>
20
- <NetworkIcons_1.BoltIcon size={9}color="#D97706"/>
20
+ <NetworkIcons_1.BoltIcon size={9}color={AppColors_1.AppColors.amber600}/>
21
21
  </react_native_1.View>:<react_native_1.View style={styles.upToDateBadge}>
22
22
  <react_native_1.Text style={styles.upToDateBadgeText}>Up to date</react_native_1.Text>
23
23
  </react_native_1.View>}
@@ -30,141 +30,55 @@
30
30
  </react_native_1.View>
31
31
 
32
32
  <react_native_1.Text style={styles.heroDescription}>
33
- High-performance in-app debugging, network logging, console
34
- inspection, performance profiling, storage viewer & telemetry
35
- diagnostics for React Native.
33
+ The all-in-one on-device debugging, logging, and QA companion for
34
+ React Native & Expo applications. Designed for developers, QA
35
+ testers, and product teams.
36
36
  </react_native_1.Text>
37
37
 
38
- {e&&<TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector@latest","Install Command"),(0,helpers_1.showToast)("Copied npm upgrade command!")}}style={styles.upgradeBtn}>
38
+ {t&&<TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector@latest","Install Command"),(0,helpers_1.showToast)("Copied npm upgrade command!")}}style={styles.upgradeBtn}>
39
39
  <NetworkIcons_1.BoltIcon size={12}color={AppColors_1.AppColors.white}/>
40
40
  <react_native_1.Text style={styles.upgradeBtnText}>
41
- Copy Upgrade Command (v{t})
41
+ Copy Upgrade Command (v{r})
42
42
  </react_native_1.Text>
43
43
  </TouchableScale_1.default>}
44
44
  </react_native_1.View>
45
45
 
46
46
 
47
- <react_native_1.View style={styles.gridContainer}>
48
- <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector").catch(()=>{})}}style={[styles.gridCard,{backgroundColor:`${AppColors_1.AppColors.purple}0F`,borderColor:`${AppColors_1.AppColors.purple}30`}]}>
49
- <NetworkIcons_1.GitHubIcon color={AppColors_1.AppColors.purple}size={18}/>
50
- <react_native_1.View style={{flex:1}}>
51
- <react_native_1.Text style={styles.gridCardTitle}>⭐ Star on GitHub</react_native_1.Text>
52
- <react_native_1.Text style={styles.gridCardSub}>Support open source</react_native_1.Text>
53
- </react_native_1.View>
54
- </TouchableScale_1.default>
55
-
56
- <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={styles.gridCard}>
57
- <NetworkIcons_1.NpmIcon color="#CB3837"size={18}/>
58
- <react_native_1.View style={{flex:1}}>
59
- <react_native_1.Text style={styles.gridCardTitle}>NPM Registry</react_native_1.Text>
60
- <react_native_1.Text style={styles.gridCardSub}>Package repository</react_native_1.Text>
61
- </react_native_1.View>
62
- </TouchableScale_1.default>
63
-
64
- <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector#readme").catch(()=>{})}}style={styles.gridCard}>
65
- <react_native_1.Text style={{fontSize:16}}>📖</react_native_1.Text>
66
- <react_native_1.View style={{flex:1}}>
67
- <react_native_1.Text style={styles.gridCardTitle}>Documentation</react_native_1.Text>
68
- <react_native_1.Text style={styles.gridCardSub}>Setup & API guide</react_native_1.Text>
69
- </react_native_1.View>
70
- </TouchableScale_1.default>
71
-
72
- <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/issues").catch(()=>{})}}style={styles.gridCard}>
73
- <react_native_1.Text style={{fontSize:16}}>🐞</react_native_1.Text>
74
- <react_native_1.View style={{flex:1}}>
75
- <react_native_1.Text style={styles.gridCardTitle}>Report Issue</react_native_1.Text>
76
- <react_native_1.Text style={styles.gridCardSub}>Bugs & feature requests</react_native_1.Text>
77
- </react_native_1.View>
78
- </TouchableScale_1.default>
79
-
80
- <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/releases").catch(()=>{})}}style={styles.gridCard}>
81
- <react_native_1.Text style={{fontSize:16}}>🏷️</react_native_1.Text>
82
- <react_native_1.View style={{flex:1}}>
83
- <react_native_1.Text style={styles.gridCardTitle}>Release Notes</react_native_1.Text>
84
- <react_native_1.Text style={styles.gridCardSub}>Version changelog</react_native_1.Text>
85
- </react_native_1.View>
86
- </TouchableScale_1.default>
87
-
88
- <TouchableScale_1.default onPress={s}style={styles.gridCard}>
89
- {r?<NetworkIcons_1.CheckIcon color={AppColors_1.AppColors.emerald600}size={16}/>:<NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.purple}size={16}/>}
90
- <react_native_1.View style={{flex:1}}>
91
- <react_native_1.Text style={styles.gridCardTitle}>
92
- {r?"Specs Copied!":"Copy Specs JSON"}
93
- </react_native_1.Text>
94
- <react_native_1.Text style={styles.gridCardSub}>Diagnostics payload</react_native_1.Text>
95
- </react_native_1.View>
96
- </TouchableScale_1.default>
97
- </react_native_1.View>
98
-
99
-
100
- <react_native_1.View style={styles.sectionCard}>
101
- <react_native_1.Text style={styles.sectionHeader}>PACKAGE VERSION & UPGRADES</react_native_1.Text>
102
-
103
- <react_native_1.View style={styles.versionRow}>
104
- <react_native_1.View style={styles.versionLeft}>
105
- <react_native_1.View style={styles.npmIconBox}>
106
- <NetworkIcons_1.NpmIcon color="#CB3837"size={17}/>
107
- </react_native_1.View>
108
- <react_native_1.View style={{flex:1}}>
109
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
110
- <react_native_1.Text style={styles.versionTitle}>v{version_1.LIB_VERSION}</react_native_1.Text>
111
- {e?<react_native_1.View style={styles.updateBadge}>
112
- <react_native_1.Text style={styles.updateBadgeText}>
113
- v{t} Available
114
- </react_native_1.Text>
115
- <NetworkIcons_1.BoltIcon size={9}color="#D97706"/>
116
- </react_native_1.View>:<react_native_1.View style={styles.upToDateBadge}>
117
- <react_native_1.Text style={styles.upToDateBadgeText}>Up to date</react_native_1.Text>
118
- </react_native_1.View>}
119
- </react_native_1.View>
120
- <react_native_1.Text style={styles.versionSubtitle}>
121
- {e?`A newer release (v${t}) is available on npm registry.`:"You are running the latest version from npm registry."}
122
- </react_native_1.Text>
123
- </react_native_1.View>
124
- </react_native_1.View>
125
-
126
- <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector@latest","Install Command"),(0,helpers_1.showToast)("Copied npm install command!")}}style={[styles.copyActionBtn,{backgroundColor:e?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}18`}]}>
127
- <NetworkIcons_1.CopyIcon color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}size={12}/>
128
- <react_native_1.Text style={[styles.copyActionText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}]}>
129
- {e?"Copy Upgrade":"Copy Install"}
130
- </react_native_1.Text>
131
- </TouchableScale_1.default>
132
- </react_native_1.View>
133
- </react_native_1.View>
134
-
135
-
136
47
  <react_native_1.View style={styles.sectionCard}>
137
- <react_native_1.Text style={styles.sectionHeader}>HOST APPLICATION & BUILD</react_native_1.Text>
48
+ <react_native_1.Text style={styles.sectionHeader}>APP INFORMATION</react_native_1.Text>
138
49
 
139
50
  <react_native_1.View style={{gap:8}}>
140
51
  <react_native_1.View style={styles.row}>
141
- <react_native_1.Text style={styles.rowLabel}>Application Name</react_native_1.Text>
52
+ <react_native_1.Text style={styles.rowLabel}>App Name</react_native_1.Text>
142
53
  <react_native_1.Text style={styles.rowValueBold}>{(0,helpers_1.getAppName)()}</react_native_1.Text>
143
54
  </react_native_1.View>
144
55
 
145
56
  <react_native_1.View style={styles.row}>
146
- <react_native_1.Text style={styles.rowLabel}>Bundle ID / Package</react_native_1.Text>
57
+ <react_native_1.Text style={styles.rowLabel}>Package Identifier</react_native_1.Text>
147
58
  <react_native_1.Text style={styles.rowValueRegular}>{(0,helpers_1.getBundleIdentifier)()}</react_native_1.Text>
148
59
  </react_native_1.View>
149
60
 
150
61
  <react_native_1.View style={styles.row}>
151
- <react_native_1.Text style={styles.rowLabel}>Version & Build Number</react_native_1.Text>
152
- <react_native_1.Text style={styles.rowValueBold}>{(0,helpers_1.getAppVersionAndBuild)().formatted}</react_native_1.Text>
62
+ <react_native_1.Text style={styles.rowLabel}>App Version</react_native_1.Text>
63
+ <react_native_1.Text style={styles.rowValueBold}>
64
+ {(0,helpers_1.getAppVersionAndBuild)().formatted}
65
+ </react_native_1.Text>
153
66
  </react_native_1.View>
154
67
 
155
68
  <react_native_1.View style={styles.row}>
156
- <react_native_1.Text style={styles.rowLabel}>Build Variant</react_native_1.Text>
69
+ <react_native_1.Text style={styles.rowLabel}>Environment</react_native_1.Text>
157
70
  <react_native_1.View style={[styles.statusTag,{backgroundColor:__DEV__?`${AppColors_1.AppColors.amber500}20`:`${AppColors_1.AppColors.emerald500}20`,borderColor:__DEV__?`${AppColors_1.AppColors.amber500}50`:`${AppColors_1.AppColors.emerald500}50`}]}>
158
- <react_native_1.Text style={[styles.statusTagText,{color:__DEV__?AppColors_1.AppColors.amber500:AppColors_1.AppColors.emerald600}]}>
71
+ <react_native_1.Text style={[styles.statusTagText,{color:__DEV__?AppColors_1.AppColors.amber600:AppColors_1.AppColors.emerald600}]}>
159
72
  {__DEV__?"Development (Debug)":"Production (Release)"}
160
73
  </react_native_1.Text>
161
74
  </react_native_1.View>
162
75
  </react_native_1.View>
163
76
 
164
77
  <react_native_1.View style={styles.row}>
165
- <react_native_1.Text style={styles.rowLabel}>Metro Bundler Connection</react_native_1.Text>
166
- <react_native_1.Text style={[styles.rowValueBold,{color:(0,helpers_1.isLocalDebugEnvironment)()?AppColors_1.AppColors.emerald600:AppColors_1.AppColors.grayText}]}>
167
- {(0,helpers_1.isLocalDebugEnvironment)()?"Connected (Hot Reload Active)":"Offline / Standalone"}
78
+ <react_native_1.Text style={styles.rowLabel}>Platform</react_native_1.Text>
79
+ <react_native_1.Text style={styles.rowValueRegular}>
80
+ {react_native_1.Platform.OS==="ios"?"Apple iOS":"Google Android"}{" "}
81
+ (v{react_native_1.Platform.Version})
168
82
  </react_native_1.Text>
169
83
  </react_native_1.View>
170
84
  </react_native_1.View>
@@ -172,180 +86,158 @@
172
86
 
173
87
 
174
88
  <react_native_1.View style={styles.sectionCard}>
175
- <react_native_1.Text style={styles.sectionHeader}>FRAMEWORK & RUNTIME ENGINE</react_native_1.Text>
176
-
177
- <react_native_1.View style={{gap:8}}>
178
- <react_native_1.View style={styles.row}>
179
- <react_native_1.Text style={styles.rowLabel}>React Native Version</react_native_1.Text>
180
- <react_native_1.Text style={styles.rowValueBold}>
181
- v
182
- {react_native_1.Platform.constants?.reactNativeVersion?.major!=null?`${react_native_1.Platform.constants.reactNativeVersion.major}.${react_native_1.Platform.constants.reactNativeVersion.minor}.${react_native_1.Platform.constants.reactNativeVersion.patch}`:"0.74+"}
183
- </react_native_1.Text>
184
- </react_native_1.View>
89
+ <react_native_1.Text style={styles.sectionHeader}>WHAT IN-APP INSPECTOR DOES</react_native_1.Text>
185
90
 
186
- <react_native_1.View style={styles.row}>
187
- <react_native_1.Text style={styles.rowLabel}>React Core Version</react_native_1.Text>
188
- <react_native_1.Text style={styles.rowValueBold}>v{react_1.default.version}</react_native_1.Text>
189
- </react_native_1.View>
190
-
191
- <react_native_1.View style={styles.row}>
192
- <react_native_1.Text style={styles.rowLabel}>JavaScript Engine</react_native_1.Text>
193
- <react_native_1.View style={[styles.statusTag,{backgroundColor:`${AppColors_1.AppColors.purple}15`,borderColor:`${AppColors_1.AppColors.purple}40`}]}>
194
- <react_native_1.Text style={[styles.statusTagText,{color:AppColors_1.AppColors.purple,fontSize:10.5}]}>
195
- {global?.HermesInternal?"Hermes Engine (Active)":"JavaScriptCore (JSC)"}
91
+ <react_native_1.View style={styles.featuresList}>
92
+ <react_native_1.View style={styles.featureItem}>
93
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.brandPurple}15`}]}>
94
+ <NetworkIcons_1.WifiIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
95
+ </react_native_1.View>
96
+ <react_native_1.View style={styles.featureTextBox}>
97
+ <react_native_1.Text style={styles.featureTitle}>Network Traffic Monitor</react_native_1.Text>
98
+ <react_native_1.Text style={styles.featureDesc}>
99
+ Inspect HTTP and HTTPS API requests, responses, headers, and
100
+ server latency with waterfall timing charts.
196
101
  </react_native_1.Text>
197
102
  </react_native_1.View>
198
103
  </react_native_1.View>
199
104
 
200
- <react_native_1.View style={styles.row}>
201
- <react_native_1.Text style={styles.rowLabel}>Rendering Architecture</react_native_1.Text>
202
- <react_native_1.Text style={styles.rowValueBold}>
203
- {global?.nativeFabricUIManager?"Fabric (New Architecture)":"Paper (Legacy Bridge)"}
204
- </react_native_1.Text>
205
- </react_native_1.View>
206
-
207
- <react_native_1.View style={styles.row}>
208
- <react_native_1.Text style={styles.rowLabel}>TurboModules Support</react_native_1.Text>
209
- <react_native_1.Text style={styles.rowValueBold}>
210
- {global?.__turboModuleProxy||global?.TurboModuleRegistry?"Enabled (C++ JSI)":"Standard Bridge"}
211
- </react_native_1.Text>
212
- </react_native_1.View>
213
- </react_native_1.View>
214
- </react_native_1.View>
215
-
216
-
217
- <react_native_1.View style={styles.sectionCard}>
218
- <react_native_1.Text style={styles.sectionHeader}>DEVICE & DISPLAY METRICS</react_native_1.Text>
219
-
220
- <react_native_1.View style={{gap:8}}>
221
- <react_native_1.View style={styles.row}>
222
- <react_native_1.Text style={styles.rowLabel}>Operating System</react_native_1.Text>
223
- <react_native_1.Text style={styles.rowValueBold}>
224
- {react_native_1.Platform.OS==="ios"?"Apple iOS":react_native_1.Platform.OS==="android"?"Google Android":react_native_1.Platform.OS}{" "}
225
- {react_native_1.Platform.Version}
226
- </react_native_1.Text>
227
- </react_native_1.View>
228
-
229
- <react_native_1.View style={styles.row}>
230
- <react_native_1.Text style={styles.rowLabel}>Device Hardware Model</react_native_1.Text>
231
- <react_native_1.Text style={styles.rowValueBold}>
232
- {react_native_1.Platform.constants?.Model||(react_native_1.Platform.OS==="ios"?"Apple Device":"Android Device")}
233
- </react_native_1.Text>
105
+ <react_native_1.View style={styles.featureItem}>
106
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.blue500}15`}]}>
107
+ <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.blue500}size={18}/>
108
+ </react_native_1.View>
109
+ <react_native_1.View style={styles.featureTextBox}>
110
+ <react_native_1.Text style={styles.featureTitle}>Console Logger</react_native_1.Text>
111
+ <react_native_1.Text style={styles.featureDesc}>
112
+ View real-time console logs, warnings, and errors with source
113
+ file origins and formatted stack traces.
114
+ </react_native_1.Text>
115
+ </react_native_1.View>
234
116
  </react_native_1.View>
235
117
 
236
- <react_native_1.View style={styles.row}>
237
- <react_native_1.Text style={styles.rowLabel}>Window Viewport (Points)</react_native_1.Text>
238
- <react_native_1.Text style={styles.rowValueBold}>
239
- {Math.round(react_native_1.Dimensions.get("window").width)} ×{" "}
240
- {Math.round(react_native_1.Dimensions.get("window").height)} pt
241
- </react_native_1.Text>
118
+ <react_native_1.View style={styles.featureItem}>
119
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.firebaseOrange}15`}]}>
120
+ <NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.firebaseOrange}size={18}/>
121
+ </react_native_1.View>
122
+ <react_native_1.View style={styles.featureTextBox}>
123
+ <react_native_1.Text style={styles.featureTitle}>Analytics Telemetry</react_native_1.Text>
124
+ <react_native_1.Text style={styles.featureDesc}>
125
+ Track Firebase and custom analytics events, screen views, and
126
+ user properties live on the device.
127
+ </react_native_1.Text>
128
+ </react_native_1.View>
242
129
  </react_native_1.View>
243
130
 
244
- <react_native_1.View style={styles.row}>
245
- <react_native_1.Text style={styles.rowLabel}>Native Physical Resolution</react_native_1.Text>
246
- <react_native_1.Text style={styles.rowValueBold}>
247
- {Math.round(react_native_1.Dimensions.get("screen").width*react_native_1.PixelRatio.get())}{" "}
248
- ×{" "}
249
- {Math.round(react_native_1.Dimensions.get("screen").height*react_native_1.PixelRatio.get())}{" "}
250
- px
251
- </react_native_1.Text>
131
+ <react_native_1.View style={styles.featureItem}>
132
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.violet600}15`}]}>
133
+ <NetworkIcons_1.DatabaseIcon color={AppColors_1.AppColors.violet600}size={18}/>
134
+ </react_native_1.View>
135
+ <react_native_1.View style={styles.featureTextBox}>
136
+ <react_native_1.Text style={styles.featureTitle}>Redux State & Actions</react_native_1.Text>
137
+ <react_native_1.Text style={styles.featureDesc}>
138
+ Inspect dispatched actions, payloads, and state tree diffs
139
+ without connecting desktop companion tools.
140
+ </react_native_1.Text>
141
+ </react_native_1.View>
252
142
  </react_native_1.View>
253
143
 
254
- <react_native_1.View style={styles.row}>
255
- <react_native_1.Text style={styles.rowLabel}>Pixel Density & Font Scale</react_native_1.Text>
256
- <react_native_1.Text style={styles.rowValueBold}>
257
- {react_native_1.PixelRatio.get().toFixed(1)}x (
258
- {react_native_1.PixelRatio.get()>=3?"@3x":react_native_1.PixelRatio.get()>=2?"@2x":"@1x"}
259
- ) • Font: {react_native_1.PixelRatio.getFontScale().toFixed(2)}x
260
- </react_native_1.Text>
144
+ <react_native_1.View style={styles.featureItem}>
145
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.teal600}15`}]}>
146
+ <NetworkIcons_1.CameraIcon color={AppColors_1.AppColors.teal600}size={18}/>
147
+ </react_native_1.View>
148
+ <react_native_1.View style={styles.featureTextBox}>
149
+ <react_native_1.Text style={styles.featureTitle}>Screen & Video Capture</react_native_1.Text>
150
+ <react_native_1.Text style={styles.featureDesc}>
151
+ Take screenshots and record test sessions to share with QA and
152
+ engineering teams instantly.
153
+ </react_native_1.Text>
154
+ </react_native_1.View>
261
155
  </react_native_1.View>
262
156
 
263
- <react_native_1.View style={styles.row}>
264
- <react_native_1.Text style={styles.rowLabel}>Timezone & Locale</react_native_1.Text>
265
- <react_native_1.Text style={styles.rowValueBold}>
266
- {Intl.DateTimeFormat().resolvedOptions().timeZone||"System"}{" "}
267
- ({Intl.DateTimeFormat().resolvedOptions().locale||"en"})
268
- </react_native_1.Text>
157
+ <react_native_1.View style={styles.featureItem}>
158
+ <react_native_1.View style={[styles.featureIconBox,{backgroundColor:`${AppColors_1.AppColors.emerald600}15`}]}>
159
+ <NetworkIcons_1.CrashIcon color={AppColors_1.AppColors.emerald600}size={18}/>
160
+ </react_native_1.View>
161
+ <react_native_1.View style={styles.featureTextBox}>
162
+ <react_native_1.Text style={styles.featureTitle}>
163
+ Crash Catcher & Diagnostics
164
+ </react_native_1.Text>
165
+ <react_native_1.Text style={styles.featureDesc}>
166
+ Protects against native crashes and provides device health
167
+ metrics including RAM, battery, and storage.
168
+ </react_native_1.Text>
169
+ </react_native_1.View>
269
170
  </react_native_1.View>
270
171
  </react_native_1.View>
271
172
  </react_native_1.View>
272
173
 
273
174
 
274
- <react_native_1.View style={styles.sectionCard}>
275
- <react_native_1.Text style={styles.sectionHeader}>INSPECTOR STORAGE & CAPABILITIES</react_native_1.Text>
276
-
277
- <react_native_1.View style={{gap:8}}>
278
- <react_native_1.View style={styles.row}>
279
- <react_native_1.Text style={styles.rowLabel}>Storage Persistence Engine</react_native_1.Text>
280
- <react_native_1.View style={[styles.statusTag,{backgroundColor:(0,settingsStore_1.isPersistentStorageAvailable)()?`${AppColors_1.AppColors.emerald500}18`:`${AppColors_1.AppColors.amber500}18`,borderColor:(0,settingsStore_1.isPersistentStorageAvailable)()?`${AppColors_1.AppColors.emerald500}50`:`${AppColors_1.AppColors.amber500}50`}]}>
281
- <react_native_1.Text style={[styles.statusTagText,{color:(0,settingsStore_1.isPersistentStorageAvailable)()?AppColors_1.AppColors.emerald600:AppColors_1.AppColors.amber500}]}>
282
- {(0,settingsStore_1.isPersistentStorageAvailable)()?"MMKV Fast Native Storage":"In-Memory State"}
283
- </react_native_1.Text>
175
+ <react_native_1.View style={styles.gridContainer}>
176
+ <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector").catch(()=>{})}}style={[styles.gridCard,{backgroundColor:`${AppColors_1.AppColors.brandPurple}0F`,borderColor:`${AppColors_1.AppColors.brandPurple}30`}]}>
177
+ <NetworkIcons_1.GitHubIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
178
+ <react_native_1.View style={{flex:1}}>
179
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5}}>
180
+ <NetworkIcons_1.StarIcon color={AppColors_1.AppColors.amber500}size={13}/>
181
+ <react_native_1.Text style={styles.gridCardTitle}>GitHub</react_native_1.Text>
284
182
  </react_native_1.View>
183
+ <react_native_1.Text style={styles.gridCardSub}>Star & source code</react_native_1.Text>
285
184
  </react_native_1.View>
185
+ <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
186
+ </TouchableScale_1.default>
286
187
 
287
- <react_native_1.View style={styles.row}>
288
- <react_native_1.Text style={styles.rowLabel}>Native Module Status</react_native_1.Text>
289
- <react_native_1.Text style={[styles.rowValueBold,{color:global?.NativeInspectorModule?AppColors_1.AppColors.emerald600:AppColors_1.AppColors.grayText}]}>
290
- {global?.NativeInspectorModule?"Linked & Active":"JavaScript Only"}
291
- </react_native_1.Text>
188
+ <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={styles.gridCard}>
189
+ <NetworkIcons_1.NpmIcon color={AppColors_1.AppColors.npmRed}size={18}/>
190
+ <react_native_1.View style={{flex:1}}>
191
+ <react_native_1.Text style={styles.gridCardTitle}>NPM Registry</react_native_1.Text>
192
+ <react_native_1.Text style={styles.gridCardSub}>Package updates</react_native_1.Text>
292
193
  </react_native_1.View>
194
+ <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
195
+ </TouchableScale_1.default>
293
196
 
294
- <react_native_1.View style={styles.row}>
295
- <react_native_1.Text style={styles.rowLabel}>Network Logger Interceptor</react_native_1.Text>
296
- <react_native_1.Text style={[styles.rowValueBold,{color:AppColors_1.AppColors.emerald600}]}>
297
- Active (XMLHttpRequest & Fetch Hooked)
298
- </react_native_1.Text>
197
+ <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector#readme").catch(()=>{})}}style={styles.gridCard}>
198
+ <NetworkIcons_1.BookOpenIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
199
+ <react_native_1.View style={{flex:1}}>
200
+ <react_native_1.Text style={styles.gridCardTitle}>Documentation</react_native_1.Text>
201
+ <react_native_1.Text style={styles.gridCardSub}>Integration guide</react_native_1.Text>
299
202
  </react_native_1.View>
203
+ <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
204
+ </TouchableScale_1.default>
300
205
 
301
- <react_native_1.View style={styles.row}>
302
- <react_native_1.Text style={styles.rowLabel}>Redux & Analytics Watchers</react_native_1.Text>
303
- <react_native_1.Text style={styles.rowValueBold}>
304
- Redux: {(0,reduxLogger_1.isReduxConnected)()?"Connected":"Listening"} •
305
- Analytics: {(0,analyticsLogger_1.isAnalyticsConnected)()?"Connected":"Listening"}
306
- </react_native_1.Text>
206
+ <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/issues").catch(()=>{})}}style={styles.gridCard}>
207
+ <NetworkIcons_1.BugIcon color={AppColors_1.AppColors.errorColor}size={18}/>
208
+ <react_native_1.View style={{flex:1}}>
209
+ <react_native_1.Text style={styles.gridCardTitle}>Report Issue</react_native_1.Text>
210
+ <react_native_1.Text style={styles.gridCardSub}>Help & support</react_native_1.Text>
307
211
  </react_native_1.View>
212
+ <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
213
+ </TouchableScale_1.default>
308
214
 
309
- <react_native_1.View style={styles.row}>
310
- <react_native_1.Text style={styles.rowLabel}>Crash & Exception Boundary</react_native_1.Text>
311
- <react_native_1.Text style={[styles.rowValueBold,{color:AppColors_1.AppColors.emerald600}]}>
312
- Global JS Exception Handler Active
313
- </react_native_1.Text>
215
+ <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/releases").catch(()=>{})}}style={styles.gridCard}>
216
+ <NetworkIcons_1.TagIcon color={AppColors_1.AppColors.successGreen}size={18}/>
217
+ <react_native_1.View style={{flex:1}}>
218
+ <react_native_1.Text style={styles.gridCardTitle}>Release Notes</react_native_1.Text>
219
+ <react_native_1.Text style={styles.gridCardSub}>What's new</react_native_1.Text>
314
220
  </react_native_1.View>
221
+ <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
222
+ </TouchableScale_1.default>
315
223
 
316
- <react_native_1.View style={styles.row}>
317
- <react_native_1.Text style={styles.rowLabel}>Memory Management</react_native_1.Text>
318
- <react_native_1.Text style={[styles.rowValueBold,{color:AppColors_1.AppColors.emerald600}]}>
319
- Dynamic Auto RAM Tiering Active
320
- </react_native_1.Text>
224
+ <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector","NPM Command"),(0,helpers_1.showToast)("Copied package install command!")}}style={styles.gridCard}>
225
+ <NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.brandPurple}size={16}/>
226
+ <react_native_1.View style={{flex:1}}>
227
+ <react_native_1.Text style={styles.gridCardTitle}>Copy Install</react_native_1.Text>
228
+ <react_native_1.Text style={styles.gridCardSub}>npm / yarn command</react_native_1.Text>
321
229
  </react_native_1.View>
322
- </react_native_1.View>
230
+ </TouchableScale_1.default>
323
231
  </react_native_1.View>
324
232
 
325
233
 
326
- <react_native_1.View style={styles.sectionCard}>
327
- <react_native_1.Text style={styles.sectionHeader}>LICENSE & CREDITS</react_native_1.Text>
328
-
329
- <react_native_1.View style={styles.row}>
330
- <react_native_1.Text style={styles.rowLabel}>License</react_native_1.Text>
331
- <react_native_1.Text style={[styles.rowValueBold,{color:AppColors_1.AppColors.emerald600}]}>
332
- MIT Permissive Open Source
333
- </react_native_1.Text>
334
- </react_native_1.View>
335
-
336
- <react_native_1.View style={styles.row}>
337
- <react_native_1.Text style={styles.rowLabel}>Created & Maintained By</react_native_1.Text>
338
- <react_native_1.Text style={styles.rowValueBold}>Vengateswaran</react_native_1.Text>
339
- </react_native_1.View>
340
-
341
- <react_native_1.View style={styles.row}>
342
- <react_native_1.Text style={styles.rowLabel}>Repository</react_native_1.Text>
343
- <react_native_1.Text style={[styles.rowValueRegular,{color:AppColors_1.AppColors.purple}]}>
344
- github.com/vengatmacuser/react-native-inapp-inspector
345
- </react_native_1.Text>
346
- </react_native_1.View>
234
+ <react_native_1.View style={styles.footer}>
235
+ <react_native_1.Text style={styles.footerText}>
236
+ React Native In-App Inspector · MIT License
237
+ </react_native_1.Text>
238
+ <react_native_1.Text style={styles.footerSubText}>
239
+ Zero-config on-device debugging tool
240
+ </react_native_1.Text>
347
241
  </react_native_1.View>
348
-
349
- <react_native_1.View style={{height:48}}/>
350
242
  </react_native_1.ScrollView>
351
- </react_native_1.View>};exports.AboutModal=AboutModal,exports.default=exports.AboutModal;const styles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground},scrollView:{flex:1},scrollContent:{padding:16,gap:14},heroCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16,gap:12},heroHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},heroBrandRow:{flexDirection:"row",alignItems:"center",gap:12,flex:1},heroIconBox:{width:44,height:44,borderRadius:12,backgroundColor:`${AppColors_1.AppColors.purple}1A`,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}33`},heroTitleRow:{flexDirection:"row",alignItems:"center",gap:8,flexWrap:"wrap"},heroTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:15,lineHeight:20,color:AppColors_1.AppColors.primaryBlack},versionBadge:{backgroundColor:`${AppColors_1.AppColors.purple}18`,paddingHorizontal:7,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}33`},versionBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.purple},updateBadge:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:"#F59E0B20",paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:"#F59E0B60"},updateBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:"#D97706"},upToDateBadge:{backgroundColor:`${AppColors_1.AppColors.emerald500}20`,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${AppColors_1.AppColors.emerald500}50`},upToDateBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.emerald600},heroPackageName:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:2},heroDescription:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,lineHeight:16,color:AppColors_1.AppColors.grayText},upgradeBtn:{backgroundColor:AppColors_1.AppColors.purple,paddingVertical:8,paddingHorizontal:12,borderRadius:8,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6},upgradeBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.white},gridContainer:{flexDirection:"row",flexWrap:"wrap",gap:8},gridCard:{flex:1,minWidth:"47%",backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,paddingVertical:10,paddingHorizontal:12,flexDirection:"row",alignItems:"center",gap:8},gridCardTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack},gridCardSub:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayText},sectionCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:14,gap:10},sectionHeader:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8},versionRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},versionLeft:{flexDirection:"row",alignItems:"center",gap:10,flex:1,marginRight:8},npmIconBox:{width:34,height:34,borderRadius:9,backgroundColor:"#CB383715",alignItems:"center",justifyContent:"center"},versionTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack},versionSubtitle:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1},copyActionBtn:{paddingVertical:7,paddingHorizontal:11,borderRadius:8,flexDirection:"row",alignItems:"center",gap:5},copyActionText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11},row:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},rowLabel:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,color:AppColors_1.AppColors.grayText},rowValueBold:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack},rowValueRegular:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.primaryBlack},statusTag:{paddingHorizontal:6,paddingVertical:1.5,borderRadius:5,borderWidth:1},statusTagText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10}});
243
+ </react_native_1.View>};exports.AboutModal=AboutModal;const styles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground},scrollView:{flex:1},scrollContent:{padding:14,paddingBottom:32,gap:12},heroCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,padding:16,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:2},shadowOpacity:.05,shadowRadius:8,elevation:2,gap:12},heroHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},heroBrandRow:{flexDirection:"row",alignItems:"center",gap:12,flex:1},heroIconBox:{width:44,height:44,borderRadius:12,backgroundColor:`${AppColors_1.AppColors.brandPurple}15`,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:`${AppColors_1.AppColors.brandPurple}30`},heroTitleRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"},heroTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:17,lineHeight:22,color:AppColors_1.AppColors.primaryBlack,letterSpacing:-.3},versionBadge:{backgroundColor:`${AppColors_1.AppColors.brandPurple}18`,paddingHorizontal:7,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${AppColors_1.AppColors.brandPurple}30`},versionBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.brandPurple},updateBadge:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:`${AppColors_1.AppColors.amber500}20`,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${AppColors_1.AppColors.amber500}50`},updateBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,color:AppColors_1.AppColors.amber600},upToDateBadge:{backgroundColor:`${AppColors_1.AppColors.emerald500}18`,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${AppColors_1.AppColors.emerald500}35`},upToDateBadgeText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:9.5,lineHeight:12,color:AppColors_1.AppColors.emerald600},heroPackageName:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,lineHeight:16,color:AppColors_1.AppColors.grayTextWeak,marginTop:2},heroDescription:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:13,lineHeight:18,color:AppColors_1.AppColors.grayText},upgradeBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,backgroundColor:AppColors_1.AppColors.brandPurple,paddingVertical:9,paddingHorizontal:12,borderRadius:8},upgradeBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.white},sectionCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,padding:14,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:10},sectionHeader:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.6},row:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:3},rowLabel:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12.5,lineHeight:17,color:AppColors_1.AppColors.grayTextWeak},rowValueBold:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,lineHeight:17,color:AppColors_1.AppColors.primaryBlack},rowValueRegular:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12.5,lineHeight:17,color:AppColors_1.AppColors.grayTextStrong},statusTag:{paddingHorizontal:7,paddingVertical:2,borderRadius:6,borderWidth:1},statusTagText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,lineHeight:14},featuresList:{gap:10},featureItem:{flexDirection:"row",alignItems:"flex-start",gap:12,paddingVertical:4},featureIconBox:{width:36,height:36,borderRadius:10,alignItems:"center",justifyContent:"center"},featureTextBox:{flex:1,gap:2},featureTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,color:AppColors_1.AppColors.primaryBlack},featureDesc:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,lineHeight:16,color:AppColors_1.AppColors.grayTextWeak},gridContainer:{flexDirection:"row",flexWrap:"wrap",gap:8},gridCard:{width:"48.5%",flexGrow:1,backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,padding:12,flexDirection:"row",alignItems:"center",gap:9,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},gridCardTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,lineHeight:16,color:AppColors_1.AppColors.primaryBlack},gridCardSub:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak},footer:{alignItems:"center",justifyContent:"center",paddingVertical:14,gap:3},footerText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayTextWeak},footerSubText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:14,color:AppColors_1.AppColors.slate400}});exports.default=exports.AboutModal;