rn-backstage 1.3.0 → 1.4.0
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.md +27 -0
- package/lib/commonjs/Backstage.js +13 -2
- package/lib/commonjs/Backstage.js.map +1 -1
- package/lib/commonjs/bug-report.js +173 -0
- package/lib/commonjs/bug-report.js.map +1 -0
- package/lib/commonjs/components/BackstagePanel.js +82 -15
- package/lib/commonjs/components/BackstagePanel.js.map +1 -1
- package/lib/commonjs/components/BugReportComposer.js +510 -0
- package/lib/commonjs/components/BugReportComposer.js.map +1 -0
- package/lib/commonjs/components/FlagsTab.js +10 -2
- package/lib/commonjs/components/FlagsTab.js.map +1 -1
- package/lib/commonjs/components/LogsTab.js +1 -3
- package/lib/commonjs/components/LogsTab.js.map +1 -1
- package/lib/commonjs/components/NetworkTab.js +1 -2
- package/lib/commonjs/components/NetworkTab.js.map +1 -1
- package/lib/commonjs/components/StorageTab.js +207 -190
- package/lib/commonjs/components/StorageTab.js.map +1 -1
- package/lib/commonjs/constants.js +16 -0
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/Backstage.js +13 -2
- package/lib/module/Backstage.js.map +1 -1
- package/lib/module/bug-report.js +164 -0
- package/lib/module/bug-report.js.map +1 -0
- package/lib/module/components/BackstagePanel.js +83 -16
- package/lib/module/components/BackstagePanel.js.map +1 -1
- package/lib/module/components/BugReportComposer.js +505 -0
- package/lib/module/components/BugReportComposer.js.map +1 -0
- package/lib/module/components/FlagsTab.js +12 -4
- package/lib/module/components/FlagsTab.js.map +1 -1
- package/lib/module/components/LogsTab.js +1 -3
- package/lib/module/components/LogsTab.js.map +1 -1
- package/lib/module/components/NetworkTab.js +1 -2
- package/lib/module/components/NetworkTab.js.map +1 -1
- package/lib/module/components/StorageTab.js +208 -191
- package/lib/module/components/StorageTab.js.map +1 -1
- package/lib/module/constants.js +16 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/Backstage.d.ts.map +1 -1
- package/lib/typescript/bug-report.d.ts +12 -0
- package/lib/typescript/bug-report.d.ts.map +1 -0
- package/lib/typescript/components/BackstagePanel.d.ts +3 -1
- package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
- package/lib/typescript/components/BugReportComposer.d.ts +17 -0
- package/lib/typescript/components/BugReportComposer.d.ts.map +1 -0
- package/lib/typescript/components/FlagsTab.d.ts.map +1 -1
- package/lib/typescript/components/LogsTab.d.ts.map +1 -1
- package/lib/typescript/components/NetworkTab.d.ts.map +1 -1
- package/lib/typescript/components/StorageTab.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +15 -0
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +39 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/Backstage.tsx +0 -215
- package/src/ThemeContext.tsx +0 -38
- package/src/components/BackstagePanel.tsx +0 -277
- package/src/components/FlagsTab.tsx +0 -200
- package/src/components/FloatingPill.tsx +0 -247
- package/src/components/InfoTab.tsx +0 -231
- package/src/components/JsonTreeView.tsx +0 -239
- package/src/components/LogItem.tsx +0 -153
- package/src/components/LogsTab.tsx +0 -217
- package/src/components/NetworkItem.tsx +0 -425
- package/src/components/NetworkTab.tsx +0 -240
- package/src/components/StorageTab.tsx +0 -607
- package/src/components/TabBar.tsx +0 -154
- package/src/constants.ts +0 -190
- package/src/index.ts +0 -33
- package/src/log-interceptor.ts +0 -148
- package/src/network-interceptor.ts +0 -468
- package/src/types.ts +0 -235
- package/src/utils/formatTimestamp.ts +0 -22
- package/src/utils/stringify.ts +0 -90
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useState","Modal","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","MonospaceFont","TestIDs","useBackstageTheme","TabBar","InfoTab","LogsTab","NetworkTab","FlagsTab","StorageTab","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALWAYS_ON_TABS","key","title","icon","FLAGS_TAB","STORAGE_TAB","LOGS_TAB","BackstagePanel","visible","onClose","appVersion","buildNumber","bundleId","deviceInfo","state","quickActions","featureFlags","onToggleFeatureFlag","logs","onRefreshLogs","onCopyLogs","networkEntries","onRefreshNetwork","onClearNetwork","onCopyNetwork","extraTabs","jsonMaxDepth","storageAdapter","styles","propStyles","children","activeTab","setActiveTab","theme","createStyles","hasFlags","length","hasStorage","allTabs","map","t","renderTabContent","onClosePanel","flags","onToggle","adapter","entries","onRefresh","onClear","onCopy","extraTab","find","render","testID","panelModal","animationType","transparent","onRequestClose","statusBarTranslucent","barStyle","background","backgroundColor","panel","style","safeArea","panelStyle","header","container","headerLeft","headerBrand","headerTitle","headerTitleStyle","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useState","Modal","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","MonospaceFont","TestIDs","useBackstageTheme","TabBar","InfoTab","LogsTab","NetworkTab","FlagsTab","StorageTab","BugReportComposer","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALWAYS_ON_TABS","key","title","icon","FLAGS_TAB","STORAGE_TAB","LOGS_TAB","BackstagePanel","visible","onClose","appVersion","buildNumber","bundleId","deviceInfo","state","quickActions","featureFlags","onToggleFeatureFlag","logs","onRefreshLogs","onCopyLogs","networkEntries","onRefreshNetwork","onClearNetwork","onCopyNetwork","extraTabs","jsonMaxDepth","storageAdapter","bugReportConfig","bugReportOpenerRef","styles","propStyles","children","activeTab","setActiveTab","bugReportVisible","setBugReportVisible","theme","createStyles","current","hasFlags","length","hasStorage","allTabs","map","t","renderTabContent","onClosePanel","flags","onToggle","adapter","entries","onRefresh","onClear","onCopy","extraTab","find","render","testID","panelModal","animationType","transparent","onRequestClose","statusBarTranslucent","barStyle","background","backgroundColor","panel","style","safeArea","panelStyle","header","container","headerLeft","headerBrand","headerTitle","headerTitleStyle","headerRight","bugReport","triggerButton","headerButton","onPress","activeOpacity","hitSlop","top","bottom","left","right","headerButtonText","closeButton","closeButtonText","tabs","onTabChange","content","config","create","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","fontSize","marginRight","fontFamily","fontWeight","color","text","letterSpacing","width","height","borderRadius","surfaceElevated","borderWidth","borderColor","textSecondary","gap"],"sourceRoot":"../../../src","sources":["components/BackstagePanel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, Alert, Modal, Platform, SafeAreaView, ScrollView, Share, StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import { MonospaceFont, TestIDs } from '../constants';
|
|
6
|
+
import { useBackstageTheme } from '../ThemeContext';
|
|
7
|
+
import { buildDeviceInfo, composeBugReport, submitToWebhook } from '../bug-report';
|
|
8
|
+
|
|
9
|
+
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
// ─── Severity Config ─────────────────────────────────────────────────────────
|
|
12
|
+
|
|
13
|
+
const SEVERITIES = [{
|
|
14
|
+
key: 'low',
|
|
15
|
+
label: 'Low',
|
|
16
|
+
emoji: '🟢'
|
|
17
|
+
}, {
|
|
18
|
+
key: 'medium',
|
|
19
|
+
label: 'Medium',
|
|
20
|
+
emoji: '🟡'
|
|
21
|
+
}, {
|
|
22
|
+
key: 'high',
|
|
23
|
+
label: 'High',
|
|
24
|
+
emoji: '🟠'
|
|
25
|
+
}, {
|
|
26
|
+
key: 'critical',
|
|
27
|
+
label: 'Critical',
|
|
28
|
+
emoji: '🔴'
|
|
29
|
+
}];
|
|
30
|
+
|
|
31
|
+
// ─── Component ───────────────────────────────────────────────────────────────
|
|
32
|
+
|
|
33
|
+
export const BugReportComposer = ({
|
|
34
|
+
visible,
|
|
35
|
+
onClose,
|
|
36
|
+
config,
|
|
37
|
+
logs,
|
|
38
|
+
networkEntries,
|
|
39
|
+
state,
|
|
40
|
+
appVersion,
|
|
41
|
+
buildNumber,
|
|
42
|
+
bundleId,
|
|
43
|
+
deviceInfo: extraDeviceInfo
|
|
44
|
+
}) => {
|
|
45
|
+
const theme = useBackstageTheme();
|
|
46
|
+
const s = useMemo(() => createStyles(theme), [theme]);
|
|
47
|
+
|
|
48
|
+
// ── Form state ────────────────────────────────────────
|
|
49
|
+
const [title, setTitle] = useState('');
|
|
50
|
+
const [description, setDescription] = useState('');
|
|
51
|
+
const [severity, setSeverity] = useState('medium');
|
|
52
|
+
const [includeDeviceInfo, setIncludeDeviceInfo] = useState(true);
|
|
53
|
+
const [includeLogs, setIncludeLogs] = useState(true);
|
|
54
|
+
const [includeNetwork, setIncludeNetwork] = useState(true);
|
|
55
|
+
const [includeState, setIncludeState] = useState(config.includeState !== false);
|
|
56
|
+
const [includeScreenshot, setIncludeScreenshot] = useState(!!config.captureScreenshot);
|
|
57
|
+
const [submitting, setSubmitting] = useState(false);
|
|
58
|
+
const maxLogs = config.maxLogsInReport ?? 50;
|
|
59
|
+
const maxNetwork = config.maxNetworkEntriesInReport ?? 20;
|
|
60
|
+
const deviceInfoItems = useMemo(() => buildDeviceInfo(appVersion, buildNumber, bundleId, extraDeviceInfo), [appVersion, buildNumber, bundleId, extraDeviceInfo]);
|
|
61
|
+
|
|
62
|
+
// ── Reset form ────────────────────────────────────────
|
|
63
|
+
const resetForm = useCallback(() => {
|
|
64
|
+
setTitle('');
|
|
65
|
+
setDescription('');
|
|
66
|
+
setSeverity('medium');
|
|
67
|
+
setIncludeDeviceInfo(true);
|
|
68
|
+
setIncludeLogs(true);
|
|
69
|
+
setIncludeNetwork(true);
|
|
70
|
+
setIncludeState(config.includeState !== false);
|
|
71
|
+
setIncludeScreenshot(!!config.captureScreenshot);
|
|
72
|
+
setSubmitting(false);
|
|
73
|
+
}, [config]);
|
|
74
|
+
const handleClose = useCallback(() => {
|
|
75
|
+
resetForm();
|
|
76
|
+
onClose();
|
|
77
|
+
}, [resetForm, onClose]);
|
|
78
|
+
|
|
79
|
+
// ── Build report ──────────────────────────────────────
|
|
80
|
+
const buildReport = useCallback(async () => {
|
|
81
|
+
let screenshotUri;
|
|
82
|
+
if (includeScreenshot && config.captureScreenshot) {
|
|
83
|
+
try {
|
|
84
|
+
screenshotUri = await config.captureScreenshot();
|
|
85
|
+
} catch {
|
|
86
|
+
// Screenshot capture failed — continue without it
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
title: title.trim() || 'Untitled Bug Report',
|
|
91
|
+
description: description.trim(),
|
|
92
|
+
severity,
|
|
93
|
+
deviceInfo: includeDeviceInfo ? deviceInfoItems : [],
|
|
94
|
+
logs: includeLogs ? logs.slice(-maxLogs) : [],
|
|
95
|
+
networkEntries: includeNetwork ? networkEntries.slice(-maxNetwork) : [],
|
|
96
|
+
state: includeState ? state : undefined,
|
|
97
|
+
screenshotUri,
|
|
98
|
+
timestamp: Date.now()
|
|
99
|
+
};
|
|
100
|
+
}, [title, description, severity, includeDeviceInfo, includeLogs, includeNetwork, includeState, includeScreenshot, deviceInfoItems, logs, networkEntries, state, config, maxLogs, maxNetwork]);
|
|
101
|
+
|
|
102
|
+
// ── Share via system share sheet ──────────────────────
|
|
103
|
+
const handleShare = useCallback(async () => {
|
|
104
|
+
if (!title.trim()) {
|
|
105
|
+
Alert.alert('Title required', 'Please enter a title for the bug report.');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
setSubmitting(true);
|
|
109
|
+
try {
|
|
110
|
+
const report = await buildReport();
|
|
111
|
+
const markdown = composeBugReport(report);
|
|
112
|
+
|
|
113
|
+
// Fire the onSubmit callback first
|
|
114
|
+
if (config.onSubmit) {
|
|
115
|
+
config.onSubmit(report);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Submit to webhook if configured
|
|
119
|
+
if (config.webhookUrl) {
|
|
120
|
+
const result = await submitToWebhook(config.webhookUrl, report);
|
|
121
|
+
if (!result.success) {
|
|
122
|
+
Alert.alert('Webhook Error', `Failed to submit: ${result.error}`);
|
|
123
|
+
setSubmitting(false);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Open system share sheet
|
|
129
|
+
await Share.share({
|
|
130
|
+
title: `Bug Report: ${report.title}`,
|
|
131
|
+
message: markdown
|
|
132
|
+
});
|
|
133
|
+
handleClose();
|
|
134
|
+
} catch {
|
|
135
|
+
Alert.alert('Error', 'Failed to share the bug report.');
|
|
136
|
+
} finally {
|
|
137
|
+
setSubmitting(false);
|
|
138
|
+
}
|
|
139
|
+
}, [title, buildReport, config, handleClose]);
|
|
140
|
+
|
|
141
|
+
// ── Counts ────────────────────────────────────────────
|
|
142
|
+
const logCount = Math.min(logs.length, maxLogs);
|
|
143
|
+
const networkCount = Math.min(networkEntries.length, maxNetwork);
|
|
144
|
+
const hasState = state && Object.keys(state).length > 0;
|
|
145
|
+
const hasScreenshot = !!config.captureScreenshot;
|
|
146
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
147
|
+
testID: TestIDs.bugReport.modal,
|
|
148
|
+
animationType: "slide",
|
|
149
|
+
transparent: false,
|
|
150
|
+
visible: visible,
|
|
151
|
+
onRequestClose: handleClose,
|
|
152
|
+
statusBarTranslucent: true,
|
|
153
|
+
children: /*#__PURE__*/_jsxs(SafeAreaView, {
|
|
154
|
+
style: s.container,
|
|
155
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
156
|
+
style: s.header,
|
|
157
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
158
|
+
testID: TestIDs.bugReport.cancelButton,
|
|
159
|
+
onPress: handleClose,
|
|
160
|
+
hitSlop: {
|
|
161
|
+
top: 8,
|
|
162
|
+
bottom: 8,
|
|
163
|
+
left: 8,
|
|
164
|
+
right: 8
|
|
165
|
+
},
|
|
166
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
167
|
+
style: s.cancelText,
|
|
168
|
+
children: "Cancel"
|
|
169
|
+
})
|
|
170
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
171
|
+
style: s.headerTitle,
|
|
172
|
+
children: "\uD83D\uDC1B Bug Report"
|
|
173
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
174
|
+
testID: TestIDs.bugReport.shareButton,
|
|
175
|
+
style: [s.shareButton, !title.trim() && s.shareButtonDisabled],
|
|
176
|
+
onPress: handleShare,
|
|
177
|
+
disabled: submitting || !title.trim(),
|
|
178
|
+
activeOpacity: 0.7,
|
|
179
|
+
children: submitting ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
180
|
+
size: "small",
|
|
181
|
+
color: "#FFF"
|
|
182
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
183
|
+
style: s.shareButtonText,
|
|
184
|
+
children: config.webhookUrl ? 'Submit' : 'Share'
|
|
185
|
+
})
|
|
186
|
+
})]
|
|
187
|
+
}), /*#__PURE__*/_jsxs(ScrollView, {
|
|
188
|
+
style: s.body,
|
|
189
|
+
contentContainerStyle: s.bodyContent,
|
|
190
|
+
showsVerticalScrollIndicator: false,
|
|
191
|
+
keyboardShouldPersistTaps: "handled",
|
|
192
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
193
|
+
style: s.inputGroup,
|
|
194
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
195
|
+
style: s.label,
|
|
196
|
+
children: "Title *"
|
|
197
|
+
}), /*#__PURE__*/_jsx(TextInput, {
|
|
198
|
+
testID: TestIDs.bugReport.titleInput,
|
|
199
|
+
style: s.titleInput,
|
|
200
|
+
placeholder: "What went wrong?",
|
|
201
|
+
placeholderTextColor: theme.textMuted,
|
|
202
|
+
value: title,
|
|
203
|
+
onChangeText: setTitle,
|
|
204
|
+
autoFocus: true,
|
|
205
|
+
returnKeyType: "next"
|
|
206
|
+
})]
|
|
207
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
208
|
+
style: s.inputGroup,
|
|
209
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
210
|
+
style: s.label,
|
|
211
|
+
children: "Description"
|
|
212
|
+
}), /*#__PURE__*/_jsx(TextInput, {
|
|
213
|
+
testID: TestIDs.bugReport.descriptionInput,
|
|
214
|
+
style: s.descriptionInput,
|
|
215
|
+
placeholder: "Steps to reproduce, expected vs actual behavior...",
|
|
216
|
+
placeholderTextColor: theme.textMuted,
|
|
217
|
+
value: description,
|
|
218
|
+
onChangeText: setDescription,
|
|
219
|
+
multiline: true,
|
|
220
|
+
textAlignVertical: "top",
|
|
221
|
+
returnKeyType: "default"
|
|
222
|
+
})]
|
|
223
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
224
|
+
style: s.inputGroup,
|
|
225
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
226
|
+
style: s.label,
|
|
227
|
+
children: "Severity"
|
|
228
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
229
|
+
testID: TestIDs.bugReport.severityPicker,
|
|
230
|
+
style: s.severityRow,
|
|
231
|
+
children: SEVERITIES.map(sev => /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
232
|
+
testID: TestIDs.bugReport.severityOption(sev.key),
|
|
233
|
+
style: [s.severityChip, severity === sev.key && s.severityChipActive, severity === sev.key && {
|
|
234
|
+
borderColor: getSeverityColor(sev.key, theme),
|
|
235
|
+
backgroundColor: getSeverityColor(sev.key, theme) + '20'
|
|
236
|
+
}],
|
|
237
|
+
onPress: () => setSeverity(sev.key),
|
|
238
|
+
activeOpacity: 0.7,
|
|
239
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
240
|
+
style: s.severityEmoji,
|
|
241
|
+
children: sev.emoji
|
|
242
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
243
|
+
style: [s.severityLabel, severity === sev.key && {
|
|
244
|
+
color: getSeverityColor(sev.key, theme)
|
|
245
|
+
}],
|
|
246
|
+
children: sev.label
|
|
247
|
+
})]
|
|
248
|
+
}, sev.key))
|
|
249
|
+
})]
|
|
250
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
251
|
+
style: s.inputGroup,
|
|
252
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
253
|
+
style: s.label,
|
|
254
|
+
children: "Attachments"
|
|
255
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
256
|
+
style: s.attachmentsList,
|
|
257
|
+
children: [/*#__PURE__*/_jsx(ToggleRow, {
|
|
258
|
+
testID: TestIDs.bugReport.toggleDeviceInfo,
|
|
259
|
+
label: "\uD83D\uDCF1 Device Info",
|
|
260
|
+
detail: `${deviceInfoItems.length} items`,
|
|
261
|
+
value: includeDeviceInfo,
|
|
262
|
+
onToggle: setIncludeDeviceInfo,
|
|
263
|
+
theme: theme
|
|
264
|
+
}), /*#__PURE__*/_jsx(ToggleRow, {
|
|
265
|
+
testID: TestIDs.bugReport.toggleLogs,
|
|
266
|
+
label: "\uD83D\uDCCB Console Logs",
|
|
267
|
+
detail: `${logCount} entries`,
|
|
268
|
+
value: includeLogs,
|
|
269
|
+
onToggle: setIncludeLogs,
|
|
270
|
+
theme: theme
|
|
271
|
+
}), /*#__PURE__*/_jsx(ToggleRow, {
|
|
272
|
+
testID: TestIDs.bugReport.toggleNetwork,
|
|
273
|
+
label: "\uD83C\uDF10 Network Activity",
|
|
274
|
+
detail: `${networkCount} requests`,
|
|
275
|
+
value: includeNetwork,
|
|
276
|
+
onToggle: setIncludeNetwork,
|
|
277
|
+
theme: theme
|
|
278
|
+
}), hasState && /*#__PURE__*/_jsx(ToggleRow, {
|
|
279
|
+
testID: TestIDs.bugReport.toggleState,
|
|
280
|
+
label: "\uD83C\uDF33 State Snapshot",
|
|
281
|
+
detail: `${Object.keys(state).length} keys`,
|
|
282
|
+
value: includeState,
|
|
283
|
+
onToggle: setIncludeState,
|
|
284
|
+
theme: theme
|
|
285
|
+
}), hasScreenshot && /*#__PURE__*/_jsx(ToggleRow, {
|
|
286
|
+
testID: TestIDs.bugReport.toggleScreenshot,
|
|
287
|
+
label: "\uD83D\uDCF8 Screenshot",
|
|
288
|
+
detail: "Capture on submit",
|
|
289
|
+
value: includeScreenshot,
|
|
290
|
+
onToggle: setIncludeScreenshot,
|
|
291
|
+
theme: theme
|
|
292
|
+
})]
|
|
293
|
+
})]
|
|
294
|
+
})]
|
|
295
|
+
})]
|
|
296
|
+
})
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
// ─── Toggle Row Sub-Component ────────────────────────────────────────────────
|
|
301
|
+
|
|
302
|
+
const ToggleRow = ({
|
|
303
|
+
testID,
|
|
304
|
+
label,
|
|
305
|
+
detail,
|
|
306
|
+
value,
|
|
307
|
+
onToggle,
|
|
308
|
+
theme
|
|
309
|
+
}) => /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
310
|
+
testID: testID,
|
|
311
|
+
style: [toggleStyles.row, {
|
|
312
|
+
borderBottomColor: theme.border
|
|
313
|
+
}],
|
|
314
|
+
onPress: () => onToggle(!value),
|
|
315
|
+
activeOpacity: 0.7,
|
|
316
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
317
|
+
style: toggleStyles.rowLeft,
|
|
318
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
319
|
+
style: [toggleStyles.checkbox, {
|
|
320
|
+
color: value ? theme.accent : theme.textMuted
|
|
321
|
+
}],
|
|
322
|
+
children: value ? '☑' : '☐'
|
|
323
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
324
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
325
|
+
style: [toggleStyles.label, {
|
|
326
|
+
color: theme.text
|
|
327
|
+
}],
|
|
328
|
+
children: label
|
|
329
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
330
|
+
style: [toggleStyles.detail, {
|
|
331
|
+
color: theme.textMuted
|
|
332
|
+
}],
|
|
333
|
+
children: detail
|
|
334
|
+
})]
|
|
335
|
+
})]
|
|
336
|
+
})
|
|
337
|
+
});
|
|
338
|
+
const toggleStyles = StyleSheet.create({
|
|
339
|
+
row: {
|
|
340
|
+
flexDirection: 'row',
|
|
341
|
+
alignItems: 'center',
|
|
342
|
+
justifyContent: 'space-between',
|
|
343
|
+
paddingVertical: 12,
|
|
344
|
+
paddingHorizontal: 4,
|
|
345
|
+
borderBottomWidth: StyleSheet.hairlineWidth
|
|
346
|
+
},
|
|
347
|
+
rowLeft: {
|
|
348
|
+
flexDirection: 'row',
|
|
349
|
+
alignItems: 'center',
|
|
350
|
+
gap: 12
|
|
351
|
+
},
|
|
352
|
+
checkbox: {
|
|
353
|
+
fontSize: 20
|
|
354
|
+
},
|
|
355
|
+
label: {
|
|
356
|
+
fontFamily: MonospaceFont,
|
|
357
|
+
fontSize: 14,
|
|
358
|
+
fontWeight: '600'
|
|
359
|
+
},
|
|
360
|
+
detail: {
|
|
361
|
+
fontFamily: MonospaceFont,
|
|
362
|
+
fontSize: 11,
|
|
363
|
+
marginTop: 2
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
368
|
+
|
|
369
|
+
function getSeverityColor(severity, theme) {
|
|
370
|
+
switch (severity) {
|
|
371
|
+
case 'low':
|
|
372
|
+
return theme.success;
|
|
373
|
+
case 'medium':
|
|
374
|
+
return theme.warning;
|
|
375
|
+
case 'high':
|
|
376
|
+
return '#F97316';
|
|
377
|
+
// orange
|
|
378
|
+
case 'critical':
|
|
379
|
+
return theme.error;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
384
|
+
|
|
385
|
+
const createStyles = t => StyleSheet.create({
|
|
386
|
+
container: {
|
|
387
|
+
flex: 1,
|
|
388
|
+
backgroundColor: t.background
|
|
389
|
+
},
|
|
390
|
+
header: {
|
|
391
|
+
flexDirection: 'row',
|
|
392
|
+
alignItems: 'center',
|
|
393
|
+
justifyContent: 'space-between',
|
|
394
|
+
paddingHorizontal: 16,
|
|
395
|
+
paddingVertical: 12,
|
|
396
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
397
|
+
borderBottomColor: t.border
|
|
398
|
+
},
|
|
399
|
+
headerTitle: {
|
|
400
|
+
fontFamily: MonospaceFont,
|
|
401
|
+
fontSize: 16,
|
|
402
|
+
fontWeight: '700',
|
|
403
|
+
color: t.text
|
|
404
|
+
},
|
|
405
|
+
cancelText: {
|
|
406
|
+
fontFamily: MonospaceFont,
|
|
407
|
+
fontSize: 14,
|
|
408
|
+
color: t.accent
|
|
409
|
+
},
|
|
410
|
+
shareButton: {
|
|
411
|
+
backgroundColor: t.accent,
|
|
412
|
+
paddingHorizontal: 16,
|
|
413
|
+
paddingVertical: 8,
|
|
414
|
+
borderRadius: 8,
|
|
415
|
+
minWidth: 70,
|
|
416
|
+
alignItems: 'center'
|
|
417
|
+
},
|
|
418
|
+
shareButtonDisabled: {
|
|
419
|
+
opacity: 0.4
|
|
420
|
+
},
|
|
421
|
+
shareButtonText: {
|
|
422
|
+
fontFamily: MonospaceFont,
|
|
423
|
+
fontSize: 14,
|
|
424
|
+
fontWeight: '700',
|
|
425
|
+
color: '#FFFFFF'
|
|
426
|
+
},
|
|
427
|
+
body: {
|
|
428
|
+
flex: 1
|
|
429
|
+
},
|
|
430
|
+
bodyContent: {
|
|
431
|
+
padding: 16,
|
|
432
|
+
paddingBottom: 40
|
|
433
|
+
},
|
|
434
|
+
inputGroup: {
|
|
435
|
+
marginBottom: 24
|
|
436
|
+
},
|
|
437
|
+
label: {
|
|
438
|
+
fontFamily: MonospaceFont,
|
|
439
|
+
fontSize: 12,
|
|
440
|
+
fontWeight: '600',
|
|
441
|
+
color: t.textSecondary,
|
|
442
|
+
textTransform: 'uppercase',
|
|
443
|
+
letterSpacing: 0.5,
|
|
444
|
+
marginBottom: 8
|
|
445
|
+
},
|
|
446
|
+
titleInput: {
|
|
447
|
+
fontFamily: MonospaceFont,
|
|
448
|
+
fontSize: 16,
|
|
449
|
+
color: t.text,
|
|
450
|
+
backgroundColor: t.surface,
|
|
451
|
+
borderRadius: 10,
|
|
452
|
+
borderWidth: 1,
|
|
453
|
+
borderColor: t.border,
|
|
454
|
+
paddingHorizontal: 14,
|
|
455
|
+
paddingVertical: Platform.OS === 'ios' ? 14 : 10
|
|
456
|
+
},
|
|
457
|
+
descriptionInput: {
|
|
458
|
+
fontFamily: MonospaceFont,
|
|
459
|
+
fontSize: 14,
|
|
460
|
+
color: t.text,
|
|
461
|
+
backgroundColor: t.surface,
|
|
462
|
+
borderRadius: 10,
|
|
463
|
+
borderWidth: 1,
|
|
464
|
+
borderColor: t.border,
|
|
465
|
+
paddingHorizontal: 14,
|
|
466
|
+
paddingVertical: Platform.OS === 'ios' ? 14 : 10,
|
|
467
|
+
minHeight: 100
|
|
468
|
+
},
|
|
469
|
+
severityRow: {
|
|
470
|
+
flexDirection: 'row',
|
|
471
|
+
gap: 8
|
|
472
|
+
},
|
|
473
|
+
severityChip: {
|
|
474
|
+
flex: 1,
|
|
475
|
+
flexDirection: 'row',
|
|
476
|
+
alignItems: 'center',
|
|
477
|
+
justifyContent: 'center',
|
|
478
|
+
gap: 4,
|
|
479
|
+
paddingVertical: 10,
|
|
480
|
+
borderRadius: 10,
|
|
481
|
+
borderWidth: 1.5,
|
|
482
|
+
borderColor: t.border,
|
|
483
|
+
backgroundColor: t.surface
|
|
484
|
+
},
|
|
485
|
+
severityChipActive: {
|
|
486
|
+
borderWidth: 1.5
|
|
487
|
+
},
|
|
488
|
+
severityEmoji: {
|
|
489
|
+
fontSize: 12
|
|
490
|
+
},
|
|
491
|
+
severityLabel: {
|
|
492
|
+
fontFamily: MonospaceFont,
|
|
493
|
+
fontSize: 11,
|
|
494
|
+
fontWeight: '600',
|
|
495
|
+
color: t.textMuted
|
|
496
|
+
},
|
|
497
|
+
attachmentsList: {
|
|
498
|
+
backgroundColor: t.surface,
|
|
499
|
+
borderRadius: 10,
|
|
500
|
+
borderWidth: 1,
|
|
501
|
+
borderColor: t.border,
|
|
502
|
+
paddingHorizontal: 12
|
|
503
|
+
}
|
|
504
|
+
});
|
|
505
|
+
//# sourceMappingURL=BugReportComposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useState","ActivityIndicator","Alert","Modal","Platform","SafeAreaView","ScrollView","Share","StyleSheet","Text","TextInput","TouchableOpacity","View","MonospaceFont","TestIDs","useBackstageTheme","buildDeviceInfo","composeBugReport","submitToWebhook","jsx","_jsx","jsxs","_jsxs","SEVERITIES","key","label","emoji","BugReportComposer","visible","onClose","config","logs","networkEntries","state","appVersion","buildNumber","bundleId","deviceInfo","extraDeviceInfo","theme","s","createStyles","title","setTitle","description","setDescription","severity","setSeverity","includeDeviceInfo","setIncludeDeviceInfo","includeLogs","setIncludeLogs","includeNetwork","setIncludeNetwork","includeState","setIncludeState","includeScreenshot","setIncludeScreenshot","captureScreenshot","submitting","setSubmitting","maxLogs","maxLogsInReport","maxNetwork","maxNetworkEntriesInReport","deviceInfoItems","resetForm","handleClose","buildReport","screenshotUri","trim","slice","undefined","timestamp","Date","now","handleShare","alert","report","markdown","onSubmit","webhookUrl","result","success","error","share","message","logCount","Math","min","length","networkCount","hasState","Object","keys","hasScreenshot","testID","bugReport","modal","animationType","transparent","onRequestClose","statusBarTranslucent","children","style","container","header","cancelButton","onPress","hitSlop","top","bottom","left","right","cancelText","headerTitle","shareButton","shareButtonDisabled","disabled","activeOpacity","size","color","shareButtonText","body","contentContainerStyle","bodyContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps","inputGroup","titleInput","placeholder","placeholderTextColor","textMuted","value","onChangeText","autoFocus","returnKeyType","descriptionInput","multiline","textAlignVertical","severityPicker","severityRow","map","sev","severityOption","severityChip","severityChipActive","borderColor","getSeverityColor","backgroundColor","severityEmoji","severityLabel","attachmentsList","ToggleRow","toggleDeviceInfo","detail","onToggle","toggleLogs","toggleNetwork","toggleState","toggleScreenshot","toggleStyles","row","borderBottomColor","border","rowLeft","checkbox","accent","text","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","borderBottomWidth","hairlineWidth","gap","fontSize","fontFamily","fontWeight","marginTop","warning","t","flex","background","borderRadius","minWidth","opacity","padding","paddingBottom","marginBottom","textSecondary","textTransform","letterSpacing","surface","borderWidth","OS","minHeight"],"sourceRoot":"../../../src","sources":["components/BugReportComposer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useMemo, useState } from 'react';
|
|
4
|
-
import { ScrollView, StyleSheet, Switch, Text, TextInput, View } from 'react-native';
|
|
4
|
+
import { Platform, ScrollView, StyleSheet, Switch, Text, TextInput, View } from 'react-native';
|
|
5
5
|
import { MonospaceFont } from '../constants';
|
|
6
6
|
import { useBackstageTheme } from '../ThemeContext';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
// iOS 26+ uses the Liquid Glass design system which conflicts with custom
|
|
9
|
+
// ios_backgroundColor / thumbColor on Switch — let the system style it instead.
|
|
10
|
+
const isLiquidGlass = Platform.OS === 'ios' && parseInt(String(Platform.Version), 10) >= 26;
|
|
7
11
|
|
|
8
12
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
9
|
-
|
|
13
|
+
|
|
10
14
|
// ─── Component ───────────────────────────────────────────────────────────────
|
|
11
15
|
|
|
12
16
|
export const FlagsTab = ({
|
|
@@ -101,8 +105,9 @@ export const FlagsTab = ({
|
|
|
101
105
|
false: theme.border,
|
|
102
106
|
true: theme.accent
|
|
103
107
|
},
|
|
104
|
-
thumbColor: flag.value ? '#FFFFFF' : theme.textMuted,
|
|
105
|
-
ios_backgroundColor: theme.border
|
|
108
|
+
thumbColor: isLiquidGlass ? undefined : flag.value ? '#FFFFFF' : theme.textMuted,
|
|
109
|
+
ios_backgroundColor: isLiquidGlass ? undefined : theme.border,
|
|
110
|
+
style: s.switch
|
|
106
111
|
})]
|
|
107
112
|
}), index < filteredFlags.length - 1 && /*#__PURE__*/_jsx(View, {
|
|
108
113
|
style: s.divider
|
|
@@ -248,6 +253,9 @@ const createStyles = t => StyleSheet.create({
|
|
|
248
253
|
height: 1,
|
|
249
254
|
backgroundColor: t.border,
|
|
250
255
|
marginHorizontal: 4
|
|
256
|
+
},
|
|
257
|
+
switch: {
|
|
258
|
+
flexShrink: 0
|
|
251
259
|
}
|
|
252
260
|
});
|
|
253
261
|
//# sourceMappingURL=FlagsTab.js.map
|