react-native-inapp-inspector 2.4.0 → 2.4.2
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.
- package/README.ar.md +163 -0
- package/README.de.md +163 -0
- package/README.es.md +164 -0
- package/README.fr.md +163 -0
- package/README.hi.md +163 -0
- package/README.ja.md +180 -0
- package/README.ko.md +163 -0
- package/README.md +340 -243
- package/README.pt-BR.md +163 -0
- package/README.ru.md +163 -0
- package/README.zh-CN.md +387 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +82 -21
- package/assets/banner_dark.svg +186 -0
- package/assets/banner_light.svg +186 -0
- package/assets/icon_circle.svg +148 -0
- package/assets/icon_square.svg +369 -0
- package/assets/inapp_inspector_icon.gif +0 -0
- package/assets/inapp_inspector_icon_original.gif +0 -0
- package/assets/social_preview.png +0 -0
- package/assets/walkthrough.gif +0 -0
- package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
- package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
- package/dist/commonjs/components/AppHeaderLogo.js +7 -5
- package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
- package/dist/commonjs/components/BrandSquareIcon.js +139 -0
- package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
- package/dist/commonjs/components/ConsoleLogCard.js +23 -39
- package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +16 -16
- package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/commonjs/components/Inspector/ConsoleTab.js +15 -15
- package/dist/commonjs/components/Inspector/CrashTab.js +25 -23
- package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
- package/dist/commonjs/components/Inspector/FabLauncher.js +22 -30
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/commonjs/components/Inspector/MainScreen.js +46 -33
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +21 -19
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +85 -101
- package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
- package/dist/commonjs/components/Inspector/PushCard.js +5 -4
- package/dist/commonjs/components/Inspector/PushDetail.js +32 -23
- package/dist/commonjs/components/Inspector/PushTab.js +13 -13
- package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
- package/dist/commonjs/components/Inspector/ReduxTab.js +14 -14
- package/dist/commonjs/components/Inspector/SettingsPanel.js +258 -139
- package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
- package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/SocketDetail.js +317 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
- package/dist/commonjs/components/Inspector/StorageTab.js +34 -32
- package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
- package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
- package/dist/commonjs/components/Inspector/TabBar.js +24 -23
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
- package/dist/commonjs/components/JsonViewer.js +7 -7
- package/dist/commonjs/components/LogCard.d.ts +3 -2
- package/dist/commonjs/components/LogCard.js +17 -14
- package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
- package/dist/commonjs/components/ModuleErrorBoundary.js +2 -2
- package/dist/commonjs/components/NetworkIcons.d.ts +15 -0
- package/dist/commonjs/components/NetworkIcons.js +38 -3
- package/dist/commonjs/components/SegmentedTabs.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
- package/dist/commonjs/customHooks/socketLogger.js +2 -0
- package/dist/commonjs/helpers/index.js +3 -3
- package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
- package/dist/commonjs/helpers/searchQueryParser.js +5 -1
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
- package/dist/commonjs/helpers/shareFormatter.js +8 -7
- package/dist/commonjs/i18n/index.d.ts +99 -1
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -0
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -0
- package/dist/commonjs/i18n/locales/it.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -0
- package/dist/commonjs/i18n/locales/mr.json +1 -0
- package/dist/commonjs/i18n/locales/nl.json +1 -0
- package/dist/commonjs/i18n/locales/pa.json +1 -0
- package/dist/commonjs/i18n/locales/pl.json +1 -0
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -0
- package/dist/commonjs/i18n/locales/te.json +1 -0
- package/dist/commonjs/i18n/locales/tr.json +1 -0
- package/dist/commonjs/i18n/locales/vi.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +13 -13
- package/dist/commonjs/index.js +5 -4
- package/dist/commonjs/native/NativeInspector.d.ts +1 -0
- package/dist/commonjs/socket.d.ts +4 -0
- package/dist/commonjs/socket.js +1 -0
- package/dist/commonjs/styles/index.d.ts +23 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +40 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +122 -1
- package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/esm/components/AnimatedBrandOwl.js +175 -0
- package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
- package/dist/esm/components/AppHeaderLogo.js +7 -5
- package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
- package/dist/esm/components/BrandSquareIcon.js +139 -0
- package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
- package/dist/esm/components/ConsoleLogCard.js +61 -77
- package/dist/esm/components/Inspector/AboutModal.js +85 -95
- package/dist/esm/components/Inspector/AnalyticsTab.js +31 -31
- package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/esm/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/esm/components/Inspector/ConsoleTab.js +49 -49
- package/dist/esm/components/Inspector/CrashTab.js +40 -38
- package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
- package/dist/esm/components/Inspector/FabLauncher.js +50 -58
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
- package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/esm/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/esm/components/Inspector/MainScreen.js +123 -110
- package/dist/esm/components/Inspector/MediaGalleryTab.js +64 -62
- package/dist/esm/components/Inspector/MediaPreviewModal.js +107 -123
- package/dist/esm/components/Inspector/NetworkTab.js +90 -90
- package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
- package/dist/esm/components/Inspector/PushCard.js +23 -22
- package/dist/esm/components/Inspector/PushDetail.js +34 -25
- package/dist/esm/components/Inspector/PushTab.js +25 -25
- package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
- package/dist/esm/components/Inspector/ReduxTab.js +35 -35
- package/dist/esm/components/Inspector/SettingsPanel.js +495 -376
- package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/esm/components/Inspector/SocketCard.js +116 -0
- package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/SocketDetail.js +317 -0
- package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/esm/components/Inspector/SocketTab.js +112 -0
- package/dist/esm/components/Inspector/StorageTab.js +136 -134
- package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/esm/components/Inspector/SupportModal.js +125 -0
- package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/esm/components/Inspector/SupportPage.js +227 -0
- package/dist/esm/components/Inspector/TabBar.js +36 -35
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
- package/dist/esm/components/JsonViewer.js +55 -55
- package/dist/esm/components/LogCard.d.ts +3 -2
- package/dist/esm/components/LogCard.js +61 -58
- package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
- package/dist/esm/components/ModuleErrorBoundary.js +23 -23
- package/dist/esm/components/NetworkIcons.d.ts +15 -0
- package/dist/esm/components/NetworkIcons.js +38 -3
- package/dist/esm/components/SegmentedTabs.js +7 -7
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/socketLogger.d.ts +26 -0
- package/dist/esm/customHooks/socketLogger.js +2 -0
- package/dist/esm/helpers/index.js +3 -3
- package/dist/esm/helpers/memoryManager.d.ts +1 -0
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
- package/dist/esm/helpers/searchQueryParser.js +5 -1
- package/dist/esm/helpers/settingsStore.d.ts +1 -0
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/shareFormatter.d.ts +3 -1
- package/dist/esm/helpers/shareFormatter.js +8 -7
- package/dist/esm/i18n/index.d.ts +99 -1
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -0
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -0
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -0
- package/dist/esm/i18n/locales/it.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -0
- package/dist/esm/i18n/locales/mr.json +1 -0
- package/dist/esm/i18n/locales/nl.json +1 -0
- package/dist/esm/i18n/locales/pa.json +1 -0
- package/dist/esm/i18n/locales/pl.json +1 -0
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -0
- package/dist/esm/i18n/locales/te.json +1 -0
- package/dist/esm/i18n/locales/tr.json +1 -0
- package/dist/esm/i18n/locales/vi.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +13 -13
- package/dist/esm/index.js +8 -7
- package/dist/esm/native/NativeInspector.d.ts +1 -0
- package/dist/esm/socket.d.ts +4 -0
- package/dist/esm/socket.js +1 -0
- package/dist/esm/styles/index.d.ts +23 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +40 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +122 -1
- package/ios/NetworkInspectorModule.mm +102 -12
- package/package.json +204 -2
- package/src/native/NativeInspector.ts +8 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import"react";import{Modal as D,View as T,Text as C,StyleSheet as V,Pressable as H,Platform as j,Linking as R,ScrollView as P}from"react-native";import S from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as I}from"../../styles/AppFonts";import{SupportIcon as F,CloseWhite as O,ExternalLinkIcon as W,StarIcon as L,BugIcon as $,BookOpenIcon as A}from"../NetworkIcons";import{triggerNativeHaptic as N}from"../../native/NativeInspector";import{useTranslation as E}from"../../i18n";export const SupportModal=({visible:z,onClose:B})=>{const{t:f}=E();if(!z)return null;const k=async v=>{try{N("light"),await R.canOpenURL(v)&&await R.openURL(v)}catch{}};return<D visible={z}transparent={!0}animationType="fade"onRequestClose={B}>
|
|
2
|
+
<T style={e.overlay}>
|
|
3
|
+
<H style={e.backdrop}onPress={B}/>
|
|
4
|
+
|
|
5
|
+
<T style={e.card}>
|
|
6
|
+
|
|
7
|
+
<T style={e.header}>
|
|
8
|
+
<T style={e.headerLeft}>
|
|
9
|
+
<T style={e.headerIconBadge}>
|
|
10
|
+
<F size={20}color={t.purple}/>
|
|
11
|
+
</T>
|
|
12
|
+
<T>
|
|
13
|
+
<C style={e.title}>
|
|
14
|
+
{f("support.title","Support & Community")}
|
|
15
|
+
</C>
|
|
16
|
+
<C style={e.subtitle}>
|
|
17
|
+
{f("support.subtitle","React Native In-App Inspector")}
|
|
18
|
+
</C>
|
|
19
|
+
</T>
|
|
20
|
+
</T>
|
|
21
|
+
|
|
22
|
+
<S onPress={B}hitSlop={10}style={e.closeBtn}>
|
|
23
|
+
<O size={12}color={t.grayText}/>
|
|
24
|
+
</S>
|
|
25
|
+
</T>
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<P style={e.scrollList}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!1}>
|
|
29
|
+
|
|
30
|
+
<S onPress={()=>k("https://github.com/sponsors/vengatmacuser")}style={[e.itemCard,e.itemCardHighlight]}>
|
|
31
|
+
<T style={[e.itemIconWrap,e.sponsorIconWrap]}>
|
|
32
|
+
<C style={e.emojiIcon}>💖</C>
|
|
33
|
+
</T>
|
|
34
|
+
<T style={e.itemTextCol}>
|
|
35
|
+
<T style={e.itemTitleRow}>
|
|
36
|
+
<C style={[e.itemTitle,e.sponsorTitle]}>
|
|
37
|
+
{f("support.sponsor","Sponsor on GitHub")}
|
|
38
|
+
</C>
|
|
39
|
+
<T style={e.heartBadge}>
|
|
40
|
+
<C style={e.heartBadgeText}>
|
|
41
|
+
{f("support.sponsorBadge","SPONSOR")}
|
|
42
|
+
</C>
|
|
43
|
+
</T>
|
|
44
|
+
</T>
|
|
45
|
+
<C style={e.itemDesc}>
|
|
46
|
+
{f("support.sponsorDesc","Support ongoing maintenance, new features and release improvements.")}
|
|
47
|
+
</C>
|
|
48
|
+
</T>
|
|
49
|
+
<W size={14}color={t.pink600}/>
|
|
50
|
+
</S>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
<S onPress={()=>k("https://github.com/vengatmacuser/react-native-inapp-inspector")}style={e.itemCard}>
|
|
54
|
+
<T style={[e.itemIconWrap,e.starIconWrap]}>
|
|
55
|
+
<L size={18}color={t.amber600}/>
|
|
56
|
+
</T>
|
|
57
|
+
<T style={e.itemTextCol}>
|
|
58
|
+
<C style={e.itemTitle}>
|
|
59
|
+
{f("support.star","Star on GitHub")}
|
|
60
|
+
</C>
|
|
61
|
+
<C style={e.itemDesc}>
|
|
62
|
+
{f("support.starDesc","Star our repo to help more React Native developers discover this tool.")}
|
|
63
|
+
</C>
|
|
64
|
+
</T>
|
|
65
|
+
<W size={14}color={t.grayTextWeak}/>
|
|
66
|
+
</S>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
<S onPress={()=>k("https://github.com/vengatmacuser/react-native-inapp-inspector/issues")}style={e.itemCard}>
|
|
70
|
+
<T style={[e.itemIconWrap,e.bugIconWrap]}>
|
|
71
|
+
<$ size={18}color={t.purple}/>
|
|
72
|
+
</T>
|
|
73
|
+
<T style={e.itemTextCol}>
|
|
74
|
+
<C style={e.itemTitle}>
|
|
75
|
+
{f("support.issues","Report Issue / Suggestion")}
|
|
76
|
+
</C>
|
|
77
|
+
<C style={e.itemDesc}>
|
|
78
|
+
{f("support.issuesDesc","Found a bug or have an idea? Open an issue on GitHub.")}
|
|
79
|
+
</C>
|
|
80
|
+
</T>
|
|
81
|
+
<W size={14}color={t.grayTextWeak}/>
|
|
82
|
+
</S>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
<S onPress={()=>k("https://vengatmacuser.github.io/react-native-inapp-inspector/")}style={e.itemCard}>
|
|
86
|
+
<T style={[e.itemIconWrap,e.docsIconWrap]}>
|
|
87
|
+
<A size={18}color={t.sky600}/>
|
|
88
|
+
</T>
|
|
89
|
+
<T style={e.itemTextCol}>
|
|
90
|
+
<C style={e.itemTitle}>
|
|
91
|
+
{f("support.docs","Official Documentation")}
|
|
92
|
+
</C>
|
|
93
|
+
<C style={e.itemDesc}>
|
|
94
|
+
{f("support.docsDesc","Interactive feature tour, search syntax & configuration guides.")}
|
|
95
|
+
</C>
|
|
96
|
+
</T>
|
|
97
|
+
<W size={14}color={t.grayTextWeak}/>
|
|
98
|
+
</S>
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<S onPress={()=>k("mailto:vengatmacuser@gmail.com")}style={e.itemCard}>
|
|
102
|
+
<T style={[e.itemIconWrap,e.contactIconWrap]}>
|
|
103
|
+
<C style={e.mailEmoji}>✉️</C>
|
|
104
|
+
</T>
|
|
105
|
+
<T style={e.itemTextCol}>
|
|
106
|
+
<C style={e.itemTitle}>
|
|
107
|
+
{f("support.contact","Contact Author")}
|
|
108
|
+
</C>
|
|
109
|
+
<C style={e.itemDesc}>
|
|
110
|
+
{f("support.contactDesc","vengatmacuser@gmail.com \u2022 Direct support & enterprise inquiries.")}
|
|
111
|
+
</C>
|
|
112
|
+
</T>
|
|
113
|
+
<W size={14}color={t.grayTextWeak}/>
|
|
114
|
+
</S>
|
|
115
|
+
</P>
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
<T style={e.footer}>
|
|
119
|
+
<S onPress={B}style={e.doneBtn}>
|
|
120
|
+
<C style={e.doneBtnText}>{f("common.close","Close")}</C>
|
|
121
|
+
</S>
|
|
122
|
+
</T>
|
|
123
|
+
</T>
|
|
124
|
+
</T>
|
|
125
|
+
</D>};const e=V.create({overlay:{flex:1,backgroundColor:`${t.slate900}B0`,justifyContent:"center",alignItems:"center",paddingHorizontal:18},backdrop:{...V.absoluteFillObject},card:{width:"100%",maxWidth:380,maxHeight:"82%",backgroundColor:t.white,borderRadius:24,overflow:"hidden",borderWidth:1,borderColor:`${t.white}CC`,...j.select({ios:{shadowColor:t.slate900,shadowOffset:{width:0,height:16},shadowOpacity:.3,shadowRadius:28},android:{elevation:16}})},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:18,paddingTop:18,paddingBottom:14,borderBottomWidth:V.hairlineWidth,borderBottomColor:t.grayBorderSecondary},headerLeft:{flexDirection:"row",alignItems:"center",gap:12},headerIconBadge:{width:38,height:38,borderRadius:12,backgroundColor:t.purple50,borderWidth:1,borderColor:t.purple200,alignItems:"center",justifyContent:"center"},title:{fontFamily:I.interBold,fontSize:15.5,color:t.slate900},subtitle:{fontFamily:I.interRegular,fontSize:11.5,color:t.grayTextWeak,marginTop:1},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.graySurface,alignItems:"center",justifyContent:"center"},scrollList:{maxHeight:380},scrollContent:{padding:16,gap:10},itemCard:{flexDirection:"row",alignItems:"center",padding:12,borderRadius:14,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.grayBorderSecondary,gap:12},itemCardHighlight:{backgroundColor:`${t.pink100}55`,borderColor:`${t.pink400}66`},itemIconWrap:{width:36,height:36,borderRadius:10,borderWidth:1,alignItems:"center",justifyContent:"center"},sponsorIconWrap:{backgroundColor:t.pink100,borderColor:`${t.pink400}80`},starIconWrap:{backgroundColor:t.amber100,borderColor:t.amber200},bugIconWrap:{backgroundColor:t.purple50,borderColor:t.purple200},docsIconWrap:{backgroundColor:t.sky100,borderColor:`${t.sky600}40`},contactIconWrap:{backgroundColor:t.graySurface,borderColor:t.grayBorderSecondary},emojiIcon:{fontSize:18},mailEmoji:{fontSize:16},itemTextCol:{flex:1},itemTitleRow:{flexDirection:"row",alignItems:"center",gap:6},itemTitle:{fontFamily:I.interBold,fontSize:13,color:t.slate900},sponsorTitle:{color:t.pink600},itemDesc:{fontFamily:I.interRegular,fontSize:11,color:t.grayTextWeak,marginTop:2,lineHeight:15},heartBadge:{paddingHorizontal:6,paddingVertical:1,borderRadius:6,backgroundColor:t.pink100,borderWidth:.5,borderColor:t.pink400},heartBadgeText:{fontFamily:I.interBold,fontSize:9,color:t.pink600},footer:{paddingHorizontal:16,paddingVertical:12,borderTopWidth:V.hairlineWidth,borderTopColor:t.grayBorderSecondary,backgroundColor:t.white},doneBtn:{height:42,borderRadius:12,backgroundColor:t.purple,alignItems:"center",justifyContent:"center"},doneBtnText:{fontFamily:I.interBold,fontSize:13.5,color:t.white}});
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import"react";import{Linking as O,Platform as V,ScrollView as $,Share as N,StyleSheet as L,Text as C,View as T}from"react-native";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as R}from"../../styles/AppFonts";import B from"../TouchableScale";import{LIB_VERSION as j}from"../../constants/version";import{copyToClipboard as k,showToast as D}from"../../helpers";import{useTranslation as M}from"../../i18n";import{triggerNativeHaptic as F}from"../../native/NativeInspector";import{BookOpenIcon as U,BugIcon as G,CopyIcon as A,ExternalLinkIcon as W,GitHubIcon as Y,HeartIcon as H,NpmIcon as J,ShareIcon as Q,StarIcon as Z}from"../NetworkIcons";export const SupportPage=()=>{const{t:S}=M(),I=async P=>{try{F("light"),await O.canOpenURL(P)&&await O.openURL(P)}catch{}},E=async()=>{try{F("medium"),await N.share({title:"React Native In-App Inspector",message:`Check out react-native-inapp-inspector \u2014 the zero-config in-app debugger for React Native & Expo:
|
|
2
|
+
https://github.com/vengatmacuser/react-native-inapp-inspector`,url:"https://github.com/vengatmacuser/react-native-inapp-inspector"})}catch{}};return<T style={e.container}>
|
|
3
|
+
<$ style={e.scrollView}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!1}>
|
|
4
|
+
|
|
5
|
+
<T style={e.heroCard}>
|
|
6
|
+
<T style={e.heroHeaderRow}>
|
|
7
|
+
<T style={e.heroIconBox}>
|
|
8
|
+
<H color={o.red500}size={28}/>
|
|
9
|
+
</T>
|
|
10
|
+
<T style={e.heroTitleCol}>
|
|
11
|
+
<T style={e.heroTitleRow}>
|
|
12
|
+
<C style={e.heroTitle}>
|
|
13
|
+
{S("support.title","Support & Community")}
|
|
14
|
+
</C>
|
|
15
|
+
<T style={e.versionBadge}>
|
|
16
|
+
<C style={e.versionBadgeText}>v{j}</C>
|
|
17
|
+
</T>
|
|
18
|
+
</T>
|
|
19
|
+
<C style={e.heroSubTitle}>
|
|
20
|
+
{S("support.subtitle","React Native In-App Inspector")}
|
|
21
|
+
</C>
|
|
22
|
+
</T>
|
|
23
|
+
</T>
|
|
24
|
+
|
|
25
|
+
<C style={e.heroDescription}>
|
|
26
|
+
{S("support.heroDescription","Crafted with passion to provide an all-in-one on-device debugging suite for mobile teams worldwide. Your sponsorship, stars, and feedback directly fuel continuous improvements, native architecture support, and rapid releases.")}
|
|
27
|
+
</C>
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<T style={e.pillRow}>
|
|
31
|
+
<T style={e.pillBadge}>
|
|
32
|
+
<C style={e.pillBadgeText}>MIT LICENSE</C>
|
|
33
|
+
</T>
|
|
34
|
+
<T style={e.pillBadge}>
|
|
35
|
+
<C style={e.pillBadgeText}>ZERO CONFIG</C>
|
|
36
|
+
</T>
|
|
37
|
+
<T style={e.pillBadge}>
|
|
38
|
+
<C style={e.pillBadgeText}>FABRIC & TURBO</C>
|
|
39
|
+
</T>
|
|
40
|
+
</T>
|
|
41
|
+
</T>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<T style={e.sponsorCard}>
|
|
45
|
+
<T style={e.sponsorTopRow}>
|
|
46
|
+
<T style={e.sponsorIconWrap}>
|
|
47
|
+
<H color={o.red500}size={22}/>
|
|
48
|
+
</T>
|
|
49
|
+
<T style={e.sponsorTextWrap}>
|
|
50
|
+
<T style={e.sponsorTitleRow}>
|
|
51
|
+
<C style={e.sponsorTitle}>
|
|
52
|
+
{S("support.sponsor","Sponsor on GitHub")}
|
|
53
|
+
</C>
|
|
54
|
+
<T style={e.sponsorPill}>
|
|
55
|
+
<C style={e.sponsorPillText}>
|
|
56
|
+
{S("support.sponsorBadge","SPONSOR")}
|
|
57
|
+
</C>
|
|
58
|
+
</T>
|
|
59
|
+
</T>
|
|
60
|
+
<C style={e.sponsorDesc}>
|
|
61
|
+
{S("support.sponsorDesc","Support ongoing maintenance, new features and release improvements.")}
|
|
62
|
+
</C>
|
|
63
|
+
</T>
|
|
64
|
+
</T>
|
|
65
|
+
|
|
66
|
+
<T style={e.sponsorActionsRow}>
|
|
67
|
+
<B onPress={()=>I("https://github.com/sponsors/vengatmacuser")}style={e.primarySponsorBtn}>
|
|
68
|
+
<H color={o.white}size={15}/>
|
|
69
|
+
<C style={e.primarySponsorBtnText}>
|
|
70
|
+
{S("support.sponsorBtn","Become a Sponsor")}
|
|
71
|
+
</C>
|
|
72
|
+
<W size={12}color={o.white}/>
|
|
73
|
+
</B>
|
|
74
|
+
|
|
75
|
+
<B onPress={()=>{k("https://github.com/sponsors/vengatmacuser","Sponsor URL"),D(S("support.copiedSponsor","Copied GitHub Sponsors link!"))}}style={e.secondaryBtn}>
|
|
76
|
+
<A size={14}color={o.grayText}/>
|
|
77
|
+
<C style={e.secondaryBtnText}>
|
|
78
|
+
{S("common.copy","Copy Link")}
|
|
79
|
+
</C>
|
|
80
|
+
</B>
|
|
81
|
+
</T>
|
|
82
|
+
</T>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
<T style={e.sectionCard}>
|
|
86
|
+
<C style={e.sectionHeader}>
|
|
87
|
+
{S("support.waysToSupport","WAYS TO CONTRIBUTE & SUPPORT")}
|
|
88
|
+
</C>
|
|
89
|
+
|
|
90
|
+
<T style={e.actionsList}>
|
|
91
|
+
|
|
92
|
+
<B onPress={()=>I("https://github.com/vengatmacuser/react-native-inapp-inspector")}style={e.itemCard}>
|
|
93
|
+
<T style={[e.itemIconWrap,e.starIconWrap]}>
|
|
94
|
+
<Z size={18}color={o.amber600}/>
|
|
95
|
+
</T>
|
|
96
|
+
<T style={e.itemTextCol}>
|
|
97
|
+
<T style={e.itemTitleRow}>
|
|
98
|
+
<C style={e.itemTitle}>
|
|
99
|
+
{S("support.star","Star on GitHub")}
|
|
100
|
+
</C>
|
|
101
|
+
<T style={e.badgeAmber}>
|
|
102
|
+
<C style={e.badgeAmberText}>RECOMMENDED</C>
|
|
103
|
+
</T>
|
|
104
|
+
</T>
|
|
105
|
+
<C style={e.itemDesc}>
|
|
106
|
+
{S("support.starDesc","Star our repo to help more React Native developers discover this tool.")}
|
|
107
|
+
</C>
|
|
108
|
+
</T>
|
|
109
|
+
<W size={14}color={o.grayTextWeak}/>
|
|
110
|
+
</B>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
<B onPress={()=>I("https://github.com/vengatmacuser/react-native-inapp-inspector/issues")}style={e.itemCard}>
|
|
114
|
+
<T style={[e.itemIconWrap,e.bugIconWrap]}>
|
|
115
|
+
<G size={18}color={o.purple}/>
|
|
116
|
+
</T>
|
|
117
|
+
<T style={e.itemTextCol}>
|
|
118
|
+
<C style={e.itemTitle}>
|
|
119
|
+
{S("support.issues","Report Issue / Suggestion")}
|
|
120
|
+
</C>
|
|
121
|
+
<C style={e.itemDesc}>
|
|
122
|
+
{S("support.issuesDesc","Found a bug or have an idea? Open an issue on GitHub.")}
|
|
123
|
+
</C>
|
|
124
|
+
</T>
|
|
125
|
+
<W size={14}color={o.grayTextWeak}/>
|
|
126
|
+
</B>
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
<B onPress={()=>I("https://vengatmacuser.github.io/react-native-inapp-inspector/")}style={e.itemCard}>
|
|
130
|
+
<T style={[e.itemIconWrap,e.docsIconWrap]}>
|
|
131
|
+
<U size={18}color={o.sky600}/>
|
|
132
|
+
</T>
|
|
133
|
+
<T style={e.itemTextCol}>
|
|
134
|
+
<C style={e.itemTitle}>
|
|
135
|
+
{S("support.docs","Official Documentation")}
|
|
136
|
+
</C>
|
|
137
|
+
<C style={e.itemDesc}>
|
|
138
|
+
{S("support.docsDesc","Interactive feature tour, search syntax & configuration guides.")}
|
|
139
|
+
</C>
|
|
140
|
+
</T>
|
|
141
|
+
<W size={14}color={o.grayTextWeak}/>
|
|
142
|
+
</B>
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
<B onPress={()=>I("https://www.npmjs.com/package/react-native-inapp-inspector")}style={e.itemCard}>
|
|
146
|
+
<T style={[e.itemIconWrap,e.npmIconWrap]}>
|
|
147
|
+
<J size={18}color={o.red500}/>
|
|
148
|
+
</T>
|
|
149
|
+
<T style={e.itemTextCol}>
|
|
150
|
+
<C style={e.itemTitle}>
|
|
151
|
+
{S("support.npmRegistry","NPM Package Registry")}
|
|
152
|
+
</C>
|
|
153
|
+
<C style={e.itemDesc}>
|
|
154
|
+
{S("support.npmRegistryDesc","Explore published version release notes, tarball sizes, and install stats.")}
|
|
155
|
+
</C>
|
|
156
|
+
</T>
|
|
157
|
+
<W size={14}color={o.grayTextWeak}/>
|
|
158
|
+
</B>
|
|
159
|
+
</T>
|
|
160
|
+
</T>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
<T style={e.sectionCard}>
|
|
164
|
+
<C style={e.sectionHeader}>
|
|
165
|
+
{S("support.shareTitle","SPREAD THE WORD")}
|
|
166
|
+
</C>
|
|
167
|
+
<C style={e.shareSubtitle}>
|
|
168
|
+
{S("support.shareDesc","Help your engineering teammates and QA specialists debug network, console logs, and Redux faster.")}
|
|
169
|
+
</C>
|
|
170
|
+
<T style={e.shareButtonsRow}>
|
|
171
|
+
<B onPress={E}style={e.sharePrimaryBtn}>
|
|
172
|
+
<Q size={15}color={o.white}/>
|
|
173
|
+
<C style={e.sharePrimaryBtnText}>
|
|
174
|
+
{S("support.shareWithTeam","Share with Teammates")}
|
|
175
|
+
</C>
|
|
176
|
+
</B>
|
|
177
|
+
|
|
178
|
+
<B onPress={()=>{k("https://github.com/vengatmacuser/react-native-inapp-inspector","Repository Link"),D(S("support.copiedRepo","Copied repository link!"))}}style={e.shareSecondaryBtn}>
|
|
179
|
+
<A size={14}color={o.grayText}/>
|
|
180
|
+
<C style={e.shareSecondaryBtnText}>
|
|
181
|
+
{S("support.copyRepo","Copy Repo URL")}
|
|
182
|
+
</C>
|
|
183
|
+
</B>
|
|
184
|
+
</T>
|
|
185
|
+
</T>
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
<T style={e.authorCard}>
|
|
189
|
+
<C style={e.sectionHeader}>
|
|
190
|
+
{S("support.maintainer","PROJECT MAINTAINER")}
|
|
191
|
+
</C>
|
|
192
|
+
<T style={e.authorRow}>
|
|
193
|
+
<T style={e.authorAvatar}>
|
|
194
|
+
<C style={e.authorAvatarText}>VB</C>
|
|
195
|
+
</T>
|
|
196
|
+
<T style={e.authorTextCol}>
|
|
197
|
+
<C style={e.authorName}>Vengateswaran Balakrishnan</C>
|
|
198
|
+
<C style={e.authorRole}>
|
|
199
|
+
Creator & Core Maintainer • @vengatmacuser
|
|
200
|
+
</C>
|
|
201
|
+
<C style={e.authorEmail}>vengatmacuser@gmail.com</C>
|
|
202
|
+
</T>
|
|
203
|
+
</T>
|
|
204
|
+
|
|
205
|
+
<T style={e.authorActionsRow}>
|
|
206
|
+
<B onPress={()=>I("mailto:vengatmacuser@gmail.com")}style={e.authorActionBtn}>
|
|
207
|
+
<C style={e.authorActionEmoji}>✉️</C>
|
|
208
|
+
<C style={e.authorActionText}>
|
|
209
|
+
{S("support.sendEmail","Send Email")}
|
|
210
|
+
</C>
|
|
211
|
+
</B>
|
|
212
|
+
|
|
213
|
+
<B onPress={()=>{k("vengatmacuser@gmail.com","Author Email"),D(S("support.copiedEmail","Copied email address!"))}}style={e.authorActionBtn}>
|
|
214
|
+
<A size={13}color={o.grayText}/>
|
|
215
|
+
<C style={e.authorActionText}>
|
|
216
|
+
{S("support.copyEmail","Copy Email")}
|
|
217
|
+
</C>
|
|
218
|
+
</B>
|
|
219
|
+
|
|
220
|
+
<B onPress={()=>I("https://github.com/vengatmacuser")}style={e.authorActionBtn}>
|
|
221
|
+
<Y size={14}color={o.grayText}/>
|
|
222
|
+
<C style={e.authorActionText}>GitHub</C>
|
|
223
|
+
</B>
|
|
224
|
+
</T>
|
|
225
|
+
</T>
|
|
226
|
+
</$>
|
|
227
|
+
</T>};const e=L.create({container:{flex:1,backgroundColor:o.primaryLight},scrollView:{flex:1},scrollContent:{padding:16,paddingBottom:V.OS==="ios"?44:24,gap:16},heroCard:{backgroundColor:o.white,borderRadius:16,padding:16,borderWidth:1,borderColor:`${o.red500}25`,...V.select({ios:{shadowColor:o.red500,shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:10},android:{elevation:3}})},heroHeaderRow:{flexDirection:"row",alignItems:"center",gap:12,marginBottom:12},heroIconBox:{width:48,height:48,borderRadius:14,backgroundColor:`${o.red500}15`,borderWidth:1,borderColor:`${o.red500}30`,alignItems:"center",justifyContent:"center"},heroTitleCol:{flex:1},heroTitleRow:{flexDirection:"row",alignItems:"center",gap:8},heroTitle:{fontFamily:R.interBold,fontSize:18,color:o.slate900,letterSpacing:-.3},versionBadge:{backgroundColor:o.primaryLight,paddingHorizontal:7,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:o.grayBorderSecondary},versionBadgeText:{fontFamily:R.interBold,fontSize:10,color:o.grayText},heroSubTitle:{fontFamily:R.interMedium,fontSize:12,color:o.grayTextWeak,marginTop:2},heroDescription:{fontFamily:R.interRegular,fontSize:12.5,lineHeight:18,color:o.grayText,marginBottom:12},pillRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"},pillBadge:{backgroundColor:o.graySurface,paddingHorizontal:8,paddingVertical:3,borderRadius:6,borderWidth:1,borderColor:o.grayBorderSecondary},pillBadgeText:{fontFamily:R.interBold,fontSize:9.5,letterSpacing:.4,color:o.grayTextWeak},sponsorCard:{backgroundColor:o.white,borderRadius:16,padding:16,borderWidth:1,borderColor:`${o.red500}35`,...V.select({ios:{shadowColor:o.red500,shadowOffset:{width:0,height:4},shadowOpacity:.1,shadowRadius:12},android:{elevation:3}})},sponsorTopRow:{flexDirection:"row",alignItems:"flex-start",gap:12},sponsorIconWrap:{width:42,height:42,borderRadius:12,backgroundColor:`${o.red500}18`,borderWidth:1,borderColor:`${o.red500}35`,alignItems:"center",justifyContent:"center"},sponsorTextWrap:{flex:1},sponsorTitleRow:{flexDirection:"row",alignItems:"center",gap:8},sponsorTitle:{fontFamily:R.interBold,fontSize:15,color:o.slate900},sponsorPill:{backgroundColor:`${o.red500}20`,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,borderColor:`${o.red500}40`},sponsorPillText:{fontFamily:R.interBold,fontSize:9,letterSpacing:.5,color:o.red500},sponsorDesc:{fontFamily:R.interRegular,fontSize:12,lineHeight:17,color:o.grayText,marginTop:4},sponsorActionsRow:{flexDirection:"row",alignItems:"center",gap:8,marginTop:14},primarySponsorBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,backgroundColor:o.red500,paddingVertical:10,paddingHorizontal:12,borderRadius:10,...V.select({ios:{shadowColor:o.red500,shadowOffset:{width:0,height:3},shadowOpacity:.35,shadowRadius:6},android:{elevation:3}})},primarySponsorBtnText:{fontFamily:R.interBold,fontSize:12.5,color:o.white},secondaryBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:5,backgroundColor:o.graySurface,borderWidth:1,borderColor:o.grayBorderSecondary,paddingVertical:10,paddingHorizontal:12,borderRadius:10},secondaryBtnText:{fontFamily:R.interSemiBold,fontSize:12,color:o.grayText},sectionCard:{backgroundColor:o.white,borderRadius:16,padding:16,borderWidth:1,borderColor:o.grayBorderSecondary,...V.select({ios:{shadowColor:o.slate900,shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:6},android:{elevation:2}})},sectionHeader:{fontFamily:R.interBold,fontSize:11,letterSpacing:.6,color:o.grayTextWeak,marginBottom:12},actionsList:{gap:10},itemCard:{flexDirection:"row",alignItems:"center",gap:12,padding:12,borderRadius:12,backgroundColor:o.graySurface,borderWidth:1,borderColor:o.grayBorderSecondary},itemIconWrap:{width:38,height:38,borderRadius:10,alignItems:"center",justifyContent:"center"},starIconWrap:{backgroundColor:`${o.amber500}18`,borderWidth:1,borderColor:`${o.amber500}35`},bugIconWrap:{backgroundColor:`${o.purple}18`,borderWidth:1,borderColor:`${o.purple}35`},docsIconWrap:{backgroundColor:`${o.sky500}18`,borderWidth:1,borderColor:`${o.sky500}35`},npmIconWrap:{backgroundColor:`${o.red500}18`,borderWidth:1,borderColor:`${o.red500}35`},itemTextCol:{flex:1},itemTitleRow:{flexDirection:"row",alignItems:"center",gap:8},itemTitle:{fontFamily:R.interBold,fontSize:13,color:o.slate900},badgeAmber:{backgroundColor:`${o.amber500}20`,paddingHorizontal:5,paddingVertical:1.5,borderRadius:5,borderWidth:1,borderColor:`${o.amber500}45`},badgeAmberText:{fontFamily:R.interBold,fontSize:8.5,letterSpacing:.3,color:o.amber600},itemDesc:{fontFamily:R.interRegular,fontSize:11.5,lineHeight:16,color:o.grayTextWeak,marginTop:2},shareSubtitle:{fontFamily:R.interRegular,fontSize:12,lineHeight:17,color:o.grayText,marginBottom:12},shareButtonsRow:{flexDirection:"row",alignItems:"center",gap:8},sharePrimaryBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,backgroundColor:o.indigo600,paddingVertical:10,paddingHorizontal:12,borderRadius:10},sharePrimaryBtnText:{fontFamily:R.interBold,fontSize:12,color:o.white},shareSecondaryBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:5,backgroundColor:o.graySurface,borderWidth:1,borderColor:o.grayBorderSecondary,paddingVertical:10,paddingHorizontal:12,borderRadius:10},shareSecondaryBtnText:{fontFamily:R.interSemiBold,fontSize:12,color:o.grayText},authorCard:{backgroundColor:o.white,borderRadius:16,padding:16,borderWidth:1,borderColor:o.grayBorderSecondary,...V.select({ios:{shadowColor:o.slate900,shadowOffset:{width:0,height:2},shadowOpacity:.04,shadowRadius:6},android:{elevation:2}})},authorRow:{flexDirection:"row",alignItems:"center",gap:12,marginBottom:14},authorAvatar:{width:44,height:44,borderRadius:22,backgroundColor:o.indigo600,alignItems:"center",justifyContent:"center"},authorAvatarText:{fontFamily:R.interBold,fontSize:15,color:o.white},authorTextCol:{flex:1},authorName:{fontFamily:R.interBold,fontSize:14,color:o.slate900},authorRole:{fontFamily:R.interRegular,fontSize:11.5,color:o.grayTextWeak,marginTop:1},authorEmail:{fontFamily:R.interMedium,fontSize:11,color:o.indigo600,marginTop:2},authorActionsRow:{flexDirection:"row",alignItems:"center",gap:8},authorActionBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:5,backgroundColor:o.graySurface,borderWidth:1,borderColor:o.grayBorderSecondary,paddingVertical:8,paddingHorizontal:8,borderRadius:8},authorActionEmoji:{fontSize:12},authorActionText:{fontFamily:R.interSemiBold,fontSize:11,color:o.grayText}});
|
|
@@ -1,56 +1,57 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ce,{useRef as F,useState as U}from"react";import{Platform as de,ScrollView as Ce,Text as P,TouchableOpacity as _,View as C}from"react-native";import{useInspector as ke}from"./InspectorContext";import{useTranslation as we}from"../../i18n";import T from"../../styles";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as B}from"../../styles/AppFonts";import G from"../TouchableScale";import{SignalIcon as Se,TerminalIcon as Re,AnalyticsIcon as Ie,ReduxIcon as Te,CrashIcon as Be,BellIcon as Pe,SmartphoneIcon as Le,DatabaseIcon as Ae,QrCodeIcon as Oe,ScreencastIcon as Ve,ChevronIcon as Q,WebsocketIcon as De}from"../NetworkIcons";import{isReduxConnected as Ee}from"../../customHooks/reduxLogger";import{isAnalyticsConnected as He}from"../../customHooks/analyticsLogger";import{isLocalDebugEnvironment as je}from"../../helpers";const r={themeColor:o.brandPurple,bgInactive:`${o.brandPurple}0D`,borderInactive:`${o.brandPurple}2B`,iconInactive:o.brandPurple,idBadgeBg:`${o.brandPurple}1C`,idBadgeBorder:`${o.brandPurple}3D`,idBadgeText:o.brandPurple},q={apis:r,logs:r,analytics:r,redux:r,storage:r,device:r,crash:r,push:r,socket:r,debugging:r,media:r},$e=ce.memo(()=>{const{t:J}=we(),{activeTab:k,switchActiveTab:L,tabVisibility:v,logs:A,consoleLogs:O,analyticsEvents:K,crashRecords:V,pushRecords:D,socketRecords:E,unreadPushCount:N,unreadSocketCount:X,lastReadApisCount:Y,lastReadLogsCount:Z,lastReadCrashesCount:ee,lastReadSocketCount:oe,mediaCount:H}=ke(),te=Ee(),ie=He(),w=k==="media",x=(v?.media??!0)&&H>0,j=F(null),[z,ne]=U(!1),[$,re]=U(!0),M=F(0),le=e=>{const{contentOffset:t,layoutMeasurement:i,contentSize:n}=e.nativeEvent,S=t.x;M.current=S;const R=S>8,I=S<n.width-i.width-8;z!==R&&ne(R),$!==I&&re(I)},W=e=>{j.current?.scrollTo({x:Math.max(0,M.current+e),animated:!0})};return<C style={[T.tabBarContainer,{flexDirection:"row",alignItems:"center",paddingHorizontal:0}]}>
|
|
2
2
|
|
|
3
|
-
{
|
|
4
|
-
<C style={{width:22,height:22,borderRadius:11,backgroundColor:
|
|
5
|
-
<Q direction="left"size={13}color={
|
|
3
|
+
{z&&<_ onPress={()=>W(-160)}hitSlop={{top:6,bottom:6,left:6,right:6}}activeOpacity={.7}style={{paddingLeft:6,paddingRight:2,justifyContent:"center",alignItems:"center"}}>
|
|
4
|
+
<C style={{width:22,height:22,borderRadius:11,backgroundColor:o.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
|
|
5
|
+
<Q direction="left"size={13}color={o.grayTextStrong}/>
|
|
6
6
|
</C>
|
|
7
7
|
</_>}
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
<Ce ref={j}horizontal showsHorizontalScrollIndicator={!1}onScroll={
|
|
11
|
-
{[{id:1,key:"apis",label:"APIs",count:
|
|
10
|
+
<Ce ref={j}horizontal showsHorizontalScrollIndicator={!1}onScroll={le}scrollEventThrottle={16}style={{flex:1}}contentContainerStyle={{paddingLeft:z?4:12,paddingRight:x?6:12}}>
|
|
11
|
+
{[{id:1,key:"apis",label:"APIs",count:A.length,icon:"apis"},{id:2,key:"logs",label:"Logs",count:O.length,icon:"logs"},{id:3,key:"analytics",label:"Analytics",count:K.length,icon:"analytics"},{id:4,key:"redux",label:"Redux",count:0,icon:"redux"},{id:5,key:"storage",label:"Storage",count:0,icon:"storage"},{id:6,key:"device",label:"Device",count:0,icon:"device"},{id:7,key:"crash",label:"Crash",count:V?.length||0,icon:"crash"},{id:8,key:"push",label:"Push",count:D?.length||0,icon:"push"},{id:9,key:"socket",label:"WebSocket",count:E?.length||0,icon:"socket"},{id:10,key:"debugging",label:"Debugging",count:0,icon:"debugging"}].filter(e=>e.key==="debugging"?de.OS==="android"&&je()&&!!v?.debugging:!(!v?.[e.key]||e.key==="redux"&&!te||e.key==="analytics"&&!ie)).map(e=>{const t=k===e.key,i=q[e.key]||q.apis,n=t?o.white:i.iconInactive,S=e.count>99?"99+":String(e.count),R=k!=="apis"&&A.length>Y,I=k!=="logs"&&O.length>Z,ae=k!=="crash"&&(V?.length||0)>(ee||0),se=k!=="socket"&&((E?.length||0)>(oe||0)||X>0);return<G key={e.key}onPress={()=>{L(e.key)}}style={[T.contentTabButton,{backgroundColor:t?i.themeColor:i.bgInactive,borderColor:t?i.themeColor:i.borderInactive},t&&{shadowColor:i.themeColor,shadowOffset:{width:0,height:2},shadowOpacity:.28,shadowRadius:3.5,elevation:3}]}>
|
|
12
12
|
<C style={{flexDirection:"row",alignItems:"center",gap:6}}>
|
|
13
|
-
{
|
|
14
|
-
{
|
|
15
|
-
{
|
|
16
|
-
{
|
|
17
|
-
{
|
|
18
|
-
{
|
|
19
|
-
{
|
|
20
|
-
{
|
|
21
|
-
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
{e.icon==="apis"&&<Se color={n}size={14}/>}
|
|
14
|
+
{e.icon==="logs"&&<Re color={n}size={14}/>}
|
|
15
|
+
{e.icon==="analytics"&&<Ie color={n}size={14}/>}
|
|
16
|
+
{e.icon==="redux"&&<Te color={n}size={14}/>}
|
|
17
|
+
{e.icon==="storage"&&<Ae color={n}size={14}/>}
|
|
18
|
+
{e.icon==="device"&&<Le color={n}size={14}/>}
|
|
19
|
+
{e.icon==="crash"&&<Be color={n}size={14}/>}
|
|
20
|
+
{e.icon==="push"&&<Pe color={n}size={14}/>}
|
|
21
|
+
{e.icon==="socket"&&<De color={n}size={14}/>}
|
|
22
|
+
{e.icon==="debugging"&&<Oe color={n}size={14}/>}
|
|
23
|
+
<C style={{minWidth:20,height:20,paddingHorizontal:4,borderRadius:10,backgroundColor:t?`${o.white}33`:i.idBadgeBg,borderWidth:1,borderColor:t?`${o.white}66`:i.idBadgeBorder,alignItems:"center",justifyContent:"center"}}>
|
|
24
|
+
<P style={{fontFamily:B.interBold,fontSize:9.5,lineHeight:12,color:t?o.white:i.idBadgeText}}>
|
|
25
|
+
#{e.id}
|
|
26
|
+
</P>
|
|
26
27
|
</C>
|
|
27
|
-
<
|
|
28
|
-
{
|
|
29
|
-
</
|
|
30
|
-
{
|
|
31
|
-
<
|
|
32
|
-
{
|
|
33
|
-
</
|
|
28
|
+
<P numberOfLines={1}ellipsizeMode="tail"style={[T.contentTabButtonText,{color:t?o.white:o.grayTextStrong,fontFamily:t?B.interBold:B.interSemiBold}]}>
|
|
29
|
+
{J(`tabs.${e.key}`,e.label)}
|
|
30
|
+
</P>
|
|
31
|
+
{e.count>0&&e.key!=="push"&&<C style={{paddingHorizontal:5,paddingVertical:1,borderRadius:8,backgroundColor:t?"rgba(255,255,255,0.25)":i.idBadgeBg,borderWidth:.5,borderColor:t?"rgba(255,255,255,0.45)":i.idBadgeBorder,marginLeft:1,alignItems:"center",justifyContent:"center"}}>
|
|
32
|
+
<P style={{fontFamily:B.interBold,fontSize:9.5,lineHeight:12,color:t?o.white:i.themeColor}}>
|
|
33
|
+
{S}
|
|
34
|
+
</P>
|
|
34
35
|
</C>}
|
|
35
|
-
{(
|
|
36
|
+
{(e.key==="apis"&&R||e.key==="logs"&&I||e.key==="crash"&&ae||e.key==="push"&&((D?.length||0)>0||N>0)||e.key==="socket"&&se)&&<C style={{width:6,height:6,borderRadius:3,backgroundColor:o.errorColor,marginLeft:4,alignSelf:"center"}}/>}
|
|
36
37
|
</C>
|
|
37
38
|
</G>})}
|
|
38
39
|
</Ce>
|
|
39
40
|
|
|
40
41
|
|
|
41
|
-
{
|
|
42
|
-
<C style={{width:22,height:22,borderRadius:11,backgroundColor:
|
|
43
|
-
<Q direction="right"size={13}color={
|
|
42
|
+
{$&&<_ onPress={()=>W(160)}hitSlop={{top:6,bottom:6,left:6,right:6}}activeOpacity={.7}style={{paddingLeft:2,paddingRight:x?4:8,justifyContent:"center",alignItems:"center"}}>
|
|
43
|
+
<C style={{width:22,height:22,borderRadius:11,backgroundColor:o.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
|
|
44
|
+
<Q direction="right"size={13}color={o.grayTextStrong}/>
|
|
44
45
|
</C>
|
|
45
46
|
</_>}
|
|
46
47
|
|
|
47
48
|
|
|
48
|
-
{
|
|
49
|
-
<G key="media"onPress={()=>{
|
|
49
|
+
{x&&<C style={{paddingLeft:6,paddingRight:10,borderLeftWidth:1,borderLeftColor:o.dividerColor,backgroundColor:o.primaryLight,justifyContent:"center",shadowColor:o.shadowColorString,shadowOffset:{width:-3,height:0},shadowOpacity:.12,shadowRadius:4,elevation:4,zIndex:10}}>
|
|
50
|
+
<G key="media"onPress={()=>{L("media")}}accessibilityRole="button"accessibilityLabel="Media Gallery"style={[T.contentTabButton,{marginRight:0,borderRadius:8,backgroundColor:w?o.brandPurple:`${o.brandPurple}0D`,borderColor:w?o.brandPurple:`${o.brandPurple}2B`,borderWidth:1,paddingHorizontal:10,paddingVertical:7,alignItems:"center",justifyContent:"center"},w&&{shadowColor:o.brandPurple,shadowOffset:{width:0,height:2},shadowOpacity:.28,shadowRadius:3.5,elevation:3}]}>
|
|
50
51
|
<C style={{position:"relative",alignItems:"center",justifyContent:"center"}}>
|
|
51
|
-
<Ve color={
|
|
52
|
-
{H>0&&<C style={{position:"absolute",top:-3,right:-4,width:7,height:7,borderRadius:3.5,backgroundColor:
|
|
52
|
+
<Ve color={w?o.white:o.brandPurple}size={15}/>
|
|
53
|
+
{H>0&&<C style={{position:"absolute",top:-3,right:-4,width:7,height:7,borderRadius:3.5,backgroundColor:w?o.white:o.brandPurple,borderWidth:1.2,borderColor:w?o.brandPurple:o.white}}/>}
|
|
53
54
|
</C>
|
|
54
55
|
</G>
|
|
55
56
|
</C>}
|
|
56
|
-
</C>});export default
|
|
57
|
+
</C>});export default $e;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import{useState as
|
|
1
|
+
import{useState as D,useEffect as F}from"react";import{Modal as G,View as C,Text as S,TouchableOpacity as O,StyleSheet as Y,Animated as T,Linking as J}from"react-native";import W,{Path as L}from"react-native-svg";import K from"../AppHeaderLogo";import{NpmIcon as Q}from"../NetworkIcons";import{LIB_VERSION as X}from"../../constants";import{copyToClipboard as Z}from"../../helpers";import{showToast as $}from"../../helpers/toast";import{AppFonts as N}from"../../styles/AppFonts";import{AppColors as e}from"../../styles/AppColors";import{t as B}from"../../i18n";const Ce=({size:o=14,color:r=e.grayTextWeak})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
2
2
|
<L d="M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2z"stroke={r}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
3
3
|
<L d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"stroke={r}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
4
|
-
</
|
|
4
|
+
</W>,P=({size:o=14,color:r=e.emerald500})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
5
5
|
<L d="M20 6L9 17l-5-5"stroke={r}strokeWidth="2.4"strokeLinecap="round"strokeLinejoin="round"/>
|
|
6
|
-
</
|
|
6
|
+
</W>,Se=({size:o=13,color:r=e.white})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
7
7
|
<L d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"stroke={r}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
8
8
|
<L d="M15 3h6v6"stroke={r}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
9
9
|
<L d="M10 14L21 3"stroke={r}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
10
|
-
</
|
|
10
|
+
</W>,Te=({size:o=13,color:r=e.grayTextWeak})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
11
11
|
<L d="M18 6L6 18M6 6l12 12"stroke={r}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
12
|
-
</
|
|
12
|
+
</W>,Le=({size:o=14,color:r=e.amber500})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
13
13
|
<L d="M12 2l2.4 6.6L21 11l-6.6 2.4L12 20l-2.4-6.6L3 11l6.6-2.4L12 2z"fill={r}/>
|
|
14
|
-
</
|
|
14
|
+
</W>,Ve=({size:o=14,color:r=e.slate400})=><W width={o}height={o}viewBox="0 0 24 24"fill="none">
|
|
15
15
|
<L d="M5 12h14M12 5l7 7-7 7"stroke={r}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
16
|
-
</
|
|
16
|
+
</W>;export const UpdateAvailableModal=({visible:o,latestVersion:r,onClose:_})=>{const[H,A]=D(!1),R=D(new T.Value(0))[0],I=D(new T.Value(.92))[0],M="npm install react-native-inapp-inspector@latest";if(typeof __DEV__>"u"||!__DEV__)return null;F(()=>{o&&(A(!1),T.parallel([T.timing(R,{toValue:1,duration:220,useNativeDriver:!0}),T.spring(I,{toValue:1,friction:8,tension:50,useNativeDriver:!0})]).start())},[o,R,I]);const z=()=>{T.parallel([T.timing(R,{toValue:0,duration:160,useNativeDriver:!0}),T.timing(I,{toValue:.92,duration:160,useNativeDriver:!0})]).start(()=>{_()})},E=()=>{Z(M,"Install Command"),A(!0),$(B("about.copiedInstallCommand","Copied npm install command to clipboard!")),setTimeout(()=>{A(!1)},2500)},U=()=>{J.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{}),z()};return o?<G transparent visible={o}animationType="none"statusBarTranslucent onRequestClose={z}>
|
|
17
17
|
<C style={t.overlay}>
|
|
18
|
-
<T.View style={[t.card,{opacity:
|
|
18
|
+
<T.View style={[t.card,{opacity:R,transform:[{scale:I}]}]}>
|
|
19
19
|
|
|
20
|
-
<O style={t.topCloseButton}onPress={
|
|
20
|
+
<O style={t.topCloseButton}onPress={z}hitSlop={10}activeOpacity={.7}>
|
|
21
21
|
<Te size={13}color={e.grayTextWeak}/>
|
|
22
22
|
</O>
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
<C style={t.headerSection}>
|
|
26
26
|
<C style={t.iconHaloRing}>
|
|
27
|
-
<K size={38}/>
|
|
27
|
+
<K size={38}shape="circle"/>
|
|
28
28
|
<C style={t.sparkleBadge}>
|
|
29
29
|
<Le size={13}color={e.amber500}/>
|
|
30
30
|
</C>
|
|
31
31
|
</C>
|
|
32
|
-
<S style={t.title}>Update Available</S>
|
|
32
|
+
<S style={t.title}>{B("header.updateAvailableTitle","Update Available")}</S>
|
|
33
33
|
<S style={t.subtitle}>
|
|
34
|
-
A new version of react-native-inapp-inspector is ready to install
|
|
34
|
+
{B("header.updateAvailableSubtitle","A new version of react-native-inapp-inspector is ready to install")}
|
|
35
35
|
</S>
|
|
36
36
|
</C>
|
|
37
37
|
|
|
@@ -60,34 +60,34 @@ import{useState as M,useEffect as F}from"react";import{Modal as G,View as C,Text
|
|
|
60
60
|
|
|
61
61
|
<C style={t.codeSnippetBox}>
|
|
62
62
|
<C style={t.codeSnippetHeader}>
|
|
63
|
-
<S style={t.codeSnippetLabel}>UPGRADE COMMAND</S>
|
|
64
|
-
{
|
|
65
|
-
<
|
|
66
|
-
<S style={t.copiedText}>Copied</S>
|
|
63
|
+
<S style={t.codeSnippetLabel}>{B("header.upgradeCommand","UPGRADE COMMAND")}</S>
|
|
64
|
+
{H&&<C style={t.copiedIndicator}>
|
|
65
|
+
<P size={11}color={e.emerald500}/>
|
|
66
|
+
<S style={t.copiedText}>{B("common.copied","Copied")}</S>
|
|
67
67
|
</C>}
|
|
68
68
|
</C>
|
|
69
69
|
|
|
70
70
|
<O activeOpacity={.75}onPress={E}style={t.commandRow}>
|
|
71
71
|
<S style={t.commandText}numberOfLines={1}>
|
|
72
|
-
{
|
|
72
|
+
{M}
|
|
73
73
|
</S>
|
|
74
74
|
<C style={t.copyIconWrapper}>
|
|
75
|
-
{
|
|
75
|
+
{H?<P size={14}color={e.emerald500}/>:<Ce size={14}color={e.grayTextWeak}/>}
|
|
76
76
|
</C>
|
|
77
77
|
</O>
|
|
78
78
|
</C>
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
<C style={t.buttonRow}>
|
|
82
|
-
<O activeOpacity={.7}onPress={
|
|
83
|
-
<S style={t.secondaryButtonText}>Later</S>
|
|
82
|
+
<O activeOpacity={.7}onPress={z}style={t.secondaryButton}>
|
|
83
|
+
<S style={t.secondaryButtonText}>{B("common.later","Later")}</S>
|
|
84
84
|
</O>
|
|
85
85
|
|
|
86
86
|
<O activeOpacity={.8}onPress={U}style={t.primaryButton}>
|
|
87
|
-
<S style={t.primaryButtonText}>View on NPM</S>
|
|
87
|
+
<S style={t.primaryButtonText}>{B("common.viewOnNpm","View on NPM")}</S>
|
|
88
88
|
<Se size={12}color={e.white}/>
|
|
89
89
|
</O>
|
|
90
90
|
</C>
|
|
91
91
|
</T.View>
|
|
92
92
|
</C>
|
|
93
|
-
</G>:null};const V={fontFamily:
|
|
93
|
+
</G>:null};const V={fontFamily:N.interRegular},t=Y.create({overlay:{flex:1,backgroundColor:e.overlayDark,justifyContent:"center",alignItems:"center",paddingHorizontal:20,zIndex:999999},card:{width:"100%",maxWidth:360,backgroundColor:e.primaryLight,borderRadius:24,borderWidth:1,borderColor:e.dividerColor,paddingHorizontal:20,paddingTop:22,paddingBottom:20,alignItems:"center",shadowColor:e.shadowColorString,shadowOffset:{width:0,height:18},shadowOpacity:.24,shadowRadius:36,elevation:24},topCloseButton:{position:"absolute",top:14,right:14,width:28,height:28,borderRadius:14,backgroundColor:e.grayBackground,justifyContent:"center",alignItems:"center",borderWidth:1,borderColor:e.dividerColor,zIndex:10},headerSection:{alignItems:"center",width:"100%",marginBottom:12},iconHaloRing:{width:66,height:66,borderRadius:20,backgroundColor:e.purple50,justifyContent:"center",alignItems:"center",borderWidth:1.5,borderColor:e.purple100,marginBottom:8,shadowColor:e.offerPurple,shadowOffset:{width:0,height:4},shadowOpacity:.16,shadowRadius:10,elevation:4},sparkleBadge:{position:"absolute",top:-4,right:-4,width:22,height:22,borderRadius:11,backgroundColor:e.paleYellow,justifyContent:"center",alignItems:"center",borderWidth:1.5,borderColor:e.white},title:{fontSize:17.5,fontWeight:"800",color:e.primaryBlack,letterSpacing:-.4,textAlign:"center",lineHeight:22,marginBottom:2,...V},subtitle:{fontSize:12,fontWeight:"500",color:e.grayTextWeak,textAlign:"center",lineHeight:16,paddingHorizontal:8,...V},versionComparisonCard:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.grayBackground,borderRadius:14,borderWidth:1,borderColor:e.dividerColor,paddingVertical:10,paddingHorizontal:14,marginBottom:12,width:"100%"},versionColumn:{alignItems:"center",gap:4},versionLabel:{fontSize:9.5,fontWeight:"700",color:e.slate400,letterSpacing:.6,...V},installedChip:{backgroundColor:e.grayBorderSecondary,paddingHorizontal:8,paddingVertical:3,borderRadius:6},installedText:{fontSize:12,fontWeight:"700",color:e.grayText,...V},arrowContainer:{paddingHorizontal:6},arrowText:{fontSize:14,color:e.slate400,fontWeight:"700"},latestChip:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.violetSoftBg,paddingHorizontal:8,paddingVertical:3,borderRadius:6,borderWidth:1,borderColor:e.violetSoftBorder},latestText:{fontSize:12,fontWeight:"800",color:e.offerPurple,...V},codeSnippetBox:{backgroundColor:e.slate900,borderRadius:12,padding:10,width:"100%",marginBottom:14,borderWidth:1,borderColor:e.slate800},codeSnippetHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:6},codeSnippetLabel:{fontSize:9.5,fontWeight:"700",color:e.grayTextWeak,letterSpacing:.6,...V},copiedIndicator:{flexDirection:"row",alignItems:"center",gap:3},copiedText:{fontSize:9.5,fontWeight:"600",color:e.emerald500,...V},commandRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.slate800,borderRadius:8,paddingVertical:7,paddingHorizontal:9,gap:8},commandText:{flex:1,fontSize:11,fontFamily:N.interRegular,color:e.sky400},copyIconWrapper:{width:22,height:22,borderRadius:6,backgroundColor:e.slate700,justifyContent:"center",alignItems:"center"},buttonRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",gap:10,width:"100%"},secondaryButton:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:11,borderRadius:12,backgroundColor:e.graySurface,borderWidth:1,borderColor:e.dividerColor},secondaryButtonText:{fontSize:13,fontWeight:"600",color:e.grayText,...V},primaryButton:{flex:1.3,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:11,borderRadius:12,backgroundColor:e.offerPurple,shadowColor:e.offerPurple,shadowOffset:{width:0,height:3},shadowOpacity:.28,shadowRadius:6,elevation:4},primaryButtonText:{fontSize:13,fontWeight:"700",color:e.white,...V}});export default UpdateAvailableModal;
|