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.
Files changed (83) hide show
  1. package/README.md +27 -0
  2. package/lib/commonjs/Backstage.js +13 -2
  3. package/lib/commonjs/Backstage.js.map +1 -1
  4. package/lib/commonjs/bug-report.js +173 -0
  5. package/lib/commonjs/bug-report.js.map +1 -0
  6. package/lib/commonjs/components/BackstagePanel.js +82 -15
  7. package/lib/commonjs/components/BackstagePanel.js.map +1 -1
  8. package/lib/commonjs/components/BugReportComposer.js +510 -0
  9. package/lib/commonjs/components/BugReportComposer.js.map +1 -0
  10. package/lib/commonjs/components/FlagsTab.js +10 -2
  11. package/lib/commonjs/components/FlagsTab.js.map +1 -1
  12. package/lib/commonjs/components/LogsTab.js +1 -3
  13. package/lib/commonjs/components/LogsTab.js.map +1 -1
  14. package/lib/commonjs/components/NetworkTab.js +1 -2
  15. package/lib/commonjs/components/NetworkTab.js.map +1 -1
  16. package/lib/commonjs/components/StorageTab.js +207 -190
  17. package/lib/commonjs/components/StorageTab.js.map +1 -1
  18. package/lib/commonjs/constants.js +16 -0
  19. package/lib/commonjs/constants.js.map +1 -1
  20. package/lib/commonjs/index.js +7 -0
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/types.js +1 -0
  23. package/lib/commonjs/types.js.map +1 -1
  24. package/lib/module/Backstage.js +13 -2
  25. package/lib/module/Backstage.js.map +1 -1
  26. package/lib/module/bug-report.js +164 -0
  27. package/lib/module/bug-report.js.map +1 -0
  28. package/lib/module/components/BackstagePanel.js +83 -16
  29. package/lib/module/components/BackstagePanel.js.map +1 -1
  30. package/lib/module/components/BugReportComposer.js +505 -0
  31. package/lib/module/components/BugReportComposer.js.map +1 -0
  32. package/lib/module/components/FlagsTab.js +12 -4
  33. package/lib/module/components/FlagsTab.js.map +1 -1
  34. package/lib/module/components/LogsTab.js +1 -3
  35. package/lib/module/components/LogsTab.js.map +1 -1
  36. package/lib/module/components/NetworkTab.js +1 -2
  37. package/lib/module/components/NetworkTab.js.map +1 -1
  38. package/lib/module/components/StorageTab.js +208 -191
  39. package/lib/module/components/StorageTab.js.map +1 -1
  40. package/lib/module/constants.js +16 -0
  41. package/lib/module/constants.js.map +1 -1
  42. package/lib/module/index.js +1 -0
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/types.js +2 -0
  45. package/lib/module/types.js.map +1 -1
  46. package/lib/typescript/Backstage.d.ts.map +1 -1
  47. package/lib/typescript/bug-report.d.ts +12 -0
  48. package/lib/typescript/bug-report.d.ts.map +1 -0
  49. package/lib/typescript/components/BackstagePanel.d.ts +3 -1
  50. package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
  51. package/lib/typescript/components/BugReportComposer.d.ts +17 -0
  52. package/lib/typescript/components/BugReportComposer.d.ts.map +1 -0
  53. package/lib/typescript/components/FlagsTab.d.ts.map +1 -1
  54. package/lib/typescript/components/LogsTab.d.ts.map +1 -1
  55. package/lib/typescript/components/NetworkTab.d.ts.map +1 -1
  56. package/lib/typescript/components/StorageTab.d.ts.map +1 -1
  57. package/lib/typescript/constants.d.ts +15 -0
  58. package/lib/typescript/constants.d.ts.map +1 -1
  59. package/lib/typescript/index.d.ts +2 -1
  60. package/lib/typescript/index.d.ts.map +1 -1
  61. package/lib/typescript/types.d.ts +39 -0
  62. package/lib/typescript/types.d.ts.map +1 -1
  63. package/package.json +2 -3
  64. package/src/Backstage.tsx +0 -215
  65. package/src/ThemeContext.tsx +0 -38
  66. package/src/components/BackstagePanel.tsx +0 -277
  67. package/src/components/FlagsTab.tsx +0 -200
  68. package/src/components/FloatingPill.tsx +0 -247
  69. package/src/components/InfoTab.tsx +0 -231
  70. package/src/components/JsonTreeView.tsx +0 -239
  71. package/src/components/LogItem.tsx +0 -153
  72. package/src/components/LogsTab.tsx +0 -217
  73. package/src/components/NetworkItem.tsx +0 -425
  74. package/src/components/NetworkTab.tsx +0 -240
  75. package/src/components/StorageTab.tsx +0 -607
  76. package/src/components/TabBar.tsx +0 -154
  77. package/src/constants.ts +0 -190
  78. package/src/index.ts +0 -33
  79. package/src/log-interceptor.ts +0 -148
  80. package/src/network-interceptor.ts +0 -468
  81. package/src/types.ts +0 -235
  82. package/src/utils/formatTimestamp.ts +0 -22
  83. 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","closeButton","onPress","activeOpacity","hitSlop","top","bottom","left","right","closeButtonText","tabs","onTabChange","content","create","flex","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","fontSize","marginRight","fontFamily","fontWeight","color","text","letterSpacing","width","height","borderRadius","surfaceElevated","borderWidth","borderColor","textSecondary"],"sourceRoot":"../../../src","sources":["components/BackstagePanel.tsx"],"mappings":"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","ignoreList":[]}
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
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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