rn-backstage 1.2.1 → 1.3.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 +82 -2
- package/lib/commonjs/Backstage.js +6 -0
- package/lib/commonjs/Backstage.js.map +1 -1
- package/lib/commonjs/components/BackstagePanel.js +18 -2
- package/lib/commonjs/components/BackstagePanel.js.map +1 -1
- package/lib/commonjs/components/FlagsTab.js +11 -9
- package/lib/commonjs/components/FlagsTab.js.map +1 -1
- package/lib/commonjs/components/FloatingPill.js +82 -22
- package/lib/commonjs/components/FloatingPill.js.map +1 -1
- package/lib/commonjs/components/InfoTab.js +5 -1
- package/lib/commonjs/components/InfoTab.js.map +1 -1
- package/lib/commonjs/components/LogItem.js +6 -0
- package/lib/commonjs/components/LogItem.js.map +1 -1
- package/lib/commonjs/components/LogsTab.js +2 -0
- package/lib/commonjs/components/LogsTab.js.map +1 -1
- package/lib/commonjs/components/NetworkTab.js +2 -0
- package/lib/commonjs/components/NetworkTab.js.map +1 -1
- package/lib/commonjs/components/StorageTab.js +655 -0
- package/lib/commonjs/components/StorageTab.js.map +1 -0
- package/lib/commonjs/constants.js +72 -6
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/index.js +77 -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 +6 -0
- package/lib/module/Backstage.js.map +1 -1
- package/lib/module/components/BackstagePanel.js +18 -2
- package/lib/module/components/BackstagePanel.js.map +1 -1
- package/lib/module/components/FlagsTab.js +11 -9
- package/lib/module/components/FlagsTab.js.map +1 -1
- package/lib/module/components/FloatingPill.js +86 -26
- package/lib/module/components/FloatingPill.js.map +1 -1
- package/lib/module/components/InfoTab.js +6 -2
- package/lib/module/components/InfoTab.js.map +1 -1
- package/lib/module/components/LogItem.js +7 -1
- package/lib/module/components/LogItem.js.map +1 -1
- package/lib/module/components/LogsTab.js +2 -0
- package/lib/module/components/LogsTab.js.map +1 -1
- package/lib/module/components/NetworkTab.js +2 -0
- package/lib/module/components/NetworkTab.js.map +1 -1
- package/lib/module/components/StorageTab.js +650 -0
- package/lib/module/components/StorageTab.js.map +1 -0
- package/lib/module/constants.js +72 -6
- package/lib/module/constants.js.map +1 -1
- package/lib/module/index.js +13 -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/components/BackstagePanel.d.ts +2 -1
- package/lib/typescript/components/BackstagePanel.d.ts.map +1 -1
- package/lib/typescript/components/FloatingPill.d.ts +2 -0
- package/lib/typescript/components/FloatingPill.d.ts.map +1 -1
- package/lib/typescript/components/InfoTab.d.ts.map +1 -1
- package/lib/typescript/components/LogItem.d.ts.map +1 -1
- package/lib/typescript/components/StorageTab.d.ts +9 -0
- package/lib/typescript/components/StorageTab.d.ts.map +1 -0
- package/lib/typescript/constants.d.ts +59 -4
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +16 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/Backstage.tsx +6 -0
- package/src/components/BackstagePanel.tsx +23 -4
- package/src/components/FlagsTab.tsx +6 -4
- package/src/components/FloatingPill.tsx +122 -28
- package/src/components/InfoTab.tsx +6 -5
- package/src/components/LogItem.tsx +13 -4
- package/src/components/LogsTab.tsx +2 -2
- package/src/components/NetworkTab.tsx +2 -2
- package/src/components/StorageTab.tsx +607 -0
- package/src/constants.ts +80 -4
- package/src/index.ts +15 -0
- package/src/types.ts +22 -0
package/lib/module/constants.js
CHANGED
|
@@ -82,35 +82,101 @@ export const MonospaceFont = Platform.select({
|
|
|
82
82
|
// ─── Test IDs ────────────────────────────────────────────────────────────────
|
|
83
83
|
|
|
84
84
|
export const TestIDs = {
|
|
85
|
+
// ── Floating Pill ──────────────────────────────
|
|
85
86
|
floatingPill: 'backstage.floating-pill',
|
|
87
|
+
floatingPillText: 'backstage.floating-pill.text',
|
|
88
|
+
// ── Panel ──────────────────────────────────────
|
|
86
89
|
panel: 'backstage.panel',
|
|
90
|
+
panelModal: 'backstage.panel.modal',
|
|
91
|
+
// ── Header ─────────────────────────────────────
|
|
87
92
|
header: {
|
|
88
93
|
container: 'backstage.header',
|
|
89
94
|
title: 'backstage.header.title',
|
|
90
95
|
closeButton: 'backstage.header.close'
|
|
91
96
|
},
|
|
97
|
+
// ── Tab Bar ────────────────────────────────────
|
|
92
98
|
tabBar: 'backstage.tab-bar',
|
|
93
99
|
tabs: {
|
|
94
100
|
info: 'backstage.tab.info',
|
|
101
|
+
network: 'backstage.tab.network',
|
|
102
|
+
flags: 'backstage.tab.flags',
|
|
103
|
+
storage: 'backstage.tab.storage',
|
|
95
104
|
logs: 'backstage.tab.logs'
|
|
96
105
|
},
|
|
106
|
+
// ── Info Tab ───────────────────────────────────
|
|
97
107
|
infoTab: {
|
|
98
|
-
|
|
108
|
+
container: 'backstage.info',
|
|
99
109
|
deviceInfo: 'backstage.info.device',
|
|
100
110
|
stateTree: 'backstage.info.state-tree',
|
|
101
|
-
quickActions: 'backstage.info.quick-actions'
|
|
111
|
+
quickActions: 'backstage.info.quick-actions',
|
|
112
|
+
/** Dynamic: backstage.info.action.{index} */
|
|
113
|
+
actionButton: index => `backstage.info.action.${index}`
|
|
102
114
|
},
|
|
115
|
+
// ── Logs Tab ───────────────────────────────────
|
|
103
116
|
logsTab: {
|
|
104
|
-
|
|
117
|
+
container: 'backstage.logs',
|
|
105
118
|
searchInput: 'backstage.logs.search',
|
|
106
119
|
copyButton: 'backstage.logs.copy',
|
|
107
|
-
list: 'backstage.logs.list'
|
|
120
|
+
list: 'backstage.logs.list',
|
|
121
|
+
statsBar: 'backstage.logs.stats'
|
|
108
122
|
},
|
|
123
|
+
// ── Log Item ───────────────────────────────────
|
|
124
|
+
logItem: {
|
|
125
|
+
/** Dynamic: backstage.log-item.{id} */
|
|
126
|
+
container: id => `backstage.log-item.${id}`,
|
|
127
|
+
badge: id => `backstage.log-item.${id}.badge`,
|
|
128
|
+
message: id => `backstage.log-item.${id}.message`,
|
|
129
|
+
timestamp: id => `backstage.log-item.${id}.timestamp`,
|
|
130
|
+
dataContainer: id => `backstage.log-item.${id}.data`,
|
|
131
|
+
copyButton: id => `backstage.log-item.${id}.copy`
|
|
132
|
+
},
|
|
133
|
+
// ── Network Tab ────────────────────────────────
|
|
109
134
|
networkTab: {
|
|
110
|
-
|
|
135
|
+
container: 'backstage.network',
|
|
111
136
|
searchInput: 'backstage.network.search',
|
|
137
|
+
clearButton: 'backstage.network.clear',
|
|
112
138
|
list: 'backstage.network.list',
|
|
113
|
-
|
|
139
|
+
statsBar: 'backstage.network.stats'
|
|
140
|
+
},
|
|
141
|
+
// ── Network Item ───────────────────────────────
|
|
142
|
+
networkItem: {
|
|
143
|
+
/** Dynamic: backstage.network-item.{id} */
|
|
144
|
+
container: id => `backstage.network-item.${id}`,
|
|
145
|
+
methodBadge: id => `backstage.network-item.${id}.method`,
|
|
146
|
+
statusBadge: id => `backstage.network-item.${id}.status`,
|
|
147
|
+
url: id => `backstage.network-item.${id}.url`,
|
|
148
|
+
sectionTab: (id, section) => `backstage.network-item.${id}.section.${section}`,
|
|
149
|
+
curlButton: id => `backstage.network-item.${id}.curl`
|
|
150
|
+
},
|
|
151
|
+
// ── Flags Tab ──────────────────────────────────
|
|
152
|
+
flagsTab: {
|
|
153
|
+
container: 'backstage.flags',
|
|
154
|
+
searchInput: 'backstage.flags.search',
|
|
155
|
+
statsBar: 'backstage.flags.stats',
|
|
156
|
+
list: 'backstage.flags.list',
|
|
157
|
+
/** Dynamic: backstage.flag.{key} — applied to the Switch */
|
|
158
|
+
flagSwitch: key => `backstage.flag.${key}`,
|
|
159
|
+
flagLabel: key => `backstage.flag.${key}.label`,
|
|
160
|
+
flagRow: key => `backstage.flag.${key}.row`
|
|
161
|
+
},
|
|
162
|
+
// ── Storage Tab ────────────────────────────────
|
|
163
|
+
storageTab: {
|
|
164
|
+
container: 'backstage.storage',
|
|
165
|
+
searchInput: 'backstage.storage.search',
|
|
166
|
+
addButton: 'backstage.storage.add-button',
|
|
167
|
+
addForm: 'backstage.storage.add-form',
|
|
168
|
+
addKeyInput: 'backstage.storage.add-form.key',
|
|
169
|
+
addValueInput: 'backstage.storage.add-form.value',
|
|
170
|
+
addSubmitButton: 'backstage.storage.add-form.submit',
|
|
171
|
+
statsBar: 'backstage.storage.stats',
|
|
172
|
+
list: 'backstage.storage.list',
|
|
173
|
+
/** Dynamic: backstage.storage.entry.{key} */
|
|
174
|
+
entryRow: key => `backstage.storage.entry.${key}`,
|
|
175
|
+
entryEditButton: key => `backstage.storage.entry.${key}.edit`,
|
|
176
|
+
entryDeleteButton: key => `backstage.storage.entry.${key}.delete`,
|
|
177
|
+
entryEditInput: key => `backstage.storage.entry.${key}.edit-input`,
|
|
178
|
+
entrySaveButton: key => `backstage.storage.entry.${key}.save`,
|
|
179
|
+
entryCancelButton: key => `backstage.storage.entry.${key}.cancel`
|
|
114
180
|
}
|
|
115
181
|
};
|
|
116
182
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dimensions","Platform","width","screenWidth","height","screenHeight","get","Metrics","isIOS","OS","pillWidth","pillHeight","panelBorderRadius","tabBarHeight","headerHeight","sectionSpacing","contentPadding","DarkTheme","background","surface","surfaceElevated","border","text","textSecondary","textMuted","accent","accentDim","error","errorDim","warning","warningDim","success","info","infoDim","debugColor","debugDim","LightTheme","DEFAULT_MAX_LOGS","DEFAULT_MAX_NETWORK_ENTRIES","DEFAULT_MAX_NETWORK_BODY_SIZE","MonospaceFont","select","ios","default","TestIDs","floatingPill","panel","header","container","title","closeButton","tabBar","tabs","
|
|
1
|
+
{"version":3,"names":["Dimensions","Platform","width","screenWidth","height","screenHeight","get","Metrics","isIOS","OS","pillWidth","pillHeight","panelBorderRadius","tabBarHeight","headerHeight","sectionSpacing","contentPadding","DarkTheme","background","surface","surfaceElevated","border","text","textSecondary","textMuted","accent","accentDim","error","errorDim","warning","warningDim","success","info","infoDim","debugColor","debugDim","LightTheme","DEFAULT_MAX_LOGS","DEFAULT_MAX_NETWORK_ENTRIES","DEFAULT_MAX_NETWORK_BODY_SIZE","MonospaceFont","select","ios","default","TestIDs","floatingPill","floatingPillText","panel","panelModal","header","container","title","closeButton","tabBar","tabs","network","flags","storage","logs","infoTab","deviceInfo","stateTree","quickActions","actionButton","index","logsTab","searchInput","copyButton","list","statsBar","logItem","id","badge","message","timestamp","dataContainer","networkTab","clearButton","networkItem","methodBadge","statusBadge","url","sectionTab","section","curlButton","flagsTab","flagSwitch","key","flagLabel","flagRow","storageTab","addButton","addForm","addKeyInput","addValueInput","addSubmitButton","entryRow","entryEditButton","entryDeleteButton","entryEditInput","entrySaveButton","entryCancelButton"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,4 +3,17 @@
|
|
|
3
3
|
export { Backstage } from './Backstage';
|
|
4
4
|
export { LogLevel, NetworkState } from './types';
|
|
5
5
|
export { TestIDs, DarkTheme, LightTheme } from './constants';
|
|
6
|
+
// ─── Individual Components ───────────────────────────────────────────────────
|
|
7
|
+
|
|
8
|
+
export { BackstagePanel } from './components/BackstagePanel';
|
|
9
|
+
export { FloatingPill } from './components/FloatingPill';
|
|
10
|
+
export { TabBar } from './components/TabBar';
|
|
11
|
+
export { InfoTab } from './components/InfoTab';
|
|
12
|
+
export { LogsTab } from './components/LogsTab';
|
|
13
|
+
export { LogItem } from './components/LogItem';
|
|
14
|
+
export { NetworkTab } from './components/NetworkTab';
|
|
15
|
+
export { NetworkItem } from './components/NetworkItem';
|
|
16
|
+
export { FlagsTab } from './components/FlagsTab';
|
|
17
|
+
export { StorageTab } from './components/StorageTab';
|
|
18
|
+
export { JsonTreeView } from './components/JsonTreeView';
|
|
6
19
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Backstage","LogLevel","NetworkState","TestIDs","DarkTheme","LightTheme"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,aAAa;
|
|
1
|
+
{"version":3,"names":["Backstage","LogLevel","NetworkState","TestIDs","DarkTheme","LightTheme","BackstagePanel","FloatingPill","TabBar","InfoTab","LogsTab","LogItem","NetworkTab","NetworkItem","FlagsTab","StorageTab","JsonTreeView"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,aAAa;AAgBvC,SAASC,QAAQ,EAAEC,YAAY,QAAQ,SAAS;AAChD,SAASC,OAAO,EAAEC,SAAS,EAAEC,UAAU,QAAQ,aAAa;AAG5D;;AAEA,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,YAAY,QAAQ,2BAA2B","ignoreList":[]}
|
package/lib/module/types.js
CHANGED
|
@@ -25,6 +25,8 @@ export let NetworkState = /*#__PURE__*/function (NetworkState) {
|
|
|
25
25
|
|
|
26
26
|
// ─── Feature Flags ─────────────────────────────────────────────────────────
|
|
27
27
|
|
|
28
|
+
// ─── Storage Adapter ─────────────────────────────────────────────────────────
|
|
29
|
+
|
|
28
30
|
// ─── Extensible Tabs ─────────────────────────────────────────────────────────
|
|
29
31
|
|
|
30
32
|
// ─── Theme ───────────────────────────────────────────────────────────────────
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LogLevel","NetworkState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAGA;;AAEA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAgBpB;;AAEA,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;;AAwBxB;;AAOA;;AAWA;;AAaA;;AASA;;AAuBA;;
|
|
1
|
+
{"version":3,"names":["LogLevel","NetworkState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAGA;;AAEA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAgBpB;;AAEA,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;;AAwBxB;;AAOA;;AAWA;;AAaA;;AAaA;;AASA;;AAuBA;;AAsGA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../src/Backstage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAA;AAInF,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"Backstage.d.ts","sourceRoot":"","sources":["../../src/Backstage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAA;AAInF,eAAO,MAAM,SAAS,qFAmLrB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { AppInfoItem, BackstageStyleOverrides, BackstageTab, FeatureFlag, LogEntry, NetworkEntry, QuickAction } from '../types';
|
|
2
|
+
import type { AppInfoItem, BackstageStyleOverrides, BackstageTab, FeatureFlag, LogEntry, NetworkEntry, QuickAction, StorageAdapter } from '../types';
|
|
3
3
|
interface BackstagePanelProps {
|
|
4
4
|
visible: boolean;
|
|
5
5
|
onClose: () => void;
|
|
@@ -20,6 +20,7 @@ interface BackstagePanelProps {
|
|
|
20
20
|
onCopyNetwork?: (text: string) => void;
|
|
21
21
|
extraTabs?: BackstageTab[];
|
|
22
22
|
jsonMaxDepth?: number;
|
|
23
|
+
storageAdapter?: StorageAdapter;
|
|
23
24
|
styles?: BackstageStyleOverrides;
|
|
24
25
|
children?: React.ReactNode;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackstagePanel.d.ts","sourceRoot":"","sources":["../../../src/components/BackstagePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"BackstagePanel.d.ts","sourceRoot":"","sources":["../../../src/components/BackstagePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAkBhD,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACf,MAAM,UAAU,CAAA;AAIjB,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAG3D,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAGnC,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAGtC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAG1B,YAAY,CAAC,EAAE,MAAM,CAAA;IAGrB,cAAc,CAAC,EAAE,cAAc,CAAA;IAG/B,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAiBD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2IxD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingPill.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingPill.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FloatingPill.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingPill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAa5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAIvD,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAsCD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuJpD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoTab.d.ts","sourceRoot":"","sources":["../../../src/components/InfoTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAA;AAIjG,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAID,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"InfoTab.d.ts","sourceRoot":"","sources":["../../../src/components/InfoTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAA;AAIjG,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAID,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmH1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogItem.d.ts","sourceRoot":"","sources":["../../../src/components/LogItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAK7D,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAkB,MAAM,UAAU,CAAA;AAMjF,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAuCD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"LogItem.d.ts","sourceRoot":"","sources":["../../../src/components/LogItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAK7D,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAkB,MAAM,UAAU,CAAA;AAMjF,UAAU,YAAY;IACpB,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAuCD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAsE1C,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StorageAdapter } from '../types';
|
|
3
|
+
interface StorageTabProps {
|
|
4
|
+
adapter: StorageAdapter;
|
|
5
|
+
jsonMaxDepth?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const StorageTab: React.FC<StorageTabProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=StorageTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageTab.d.ts","sourceRoot":"","sources":["../../../src/components/StorageTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAKxE,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,UAAU,CAAA;AAI9D,UAAU,eAAe;IACvB,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAyBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4UhD,CAAA"}
|
|
@@ -19,7 +19,9 @@ export declare const DEFAULT_MAX_NETWORK_BODY_SIZE = 65536;
|
|
|
19
19
|
export declare const MonospaceFont: string;
|
|
20
20
|
export declare const TestIDs: {
|
|
21
21
|
floatingPill: string;
|
|
22
|
+
floatingPillText: string;
|
|
22
23
|
panel: string;
|
|
24
|
+
panelModal: string;
|
|
23
25
|
header: {
|
|
24
26
|
container: string;
|
|
25
27
|
title: string;
|
|
@@ -28,25 +30,78 @@ export declare const TestIDs: {
|
|
|
28
30
|
tabBar: string;
|
|
29
31
|
tabs: {
|
|
30
32
|
info: string;
|
|
33
|
+
network: string;
|
|
34
|
+
flags: string;
|
|
35
|
+
storage: string;
|
|
31
36
|
logs: string;
|
|
32
37
|
};
|
|
33
38
|
infoTab: {
|
|
34
|
-
|
|
39
|
+
container: string;
|
|
35
40
|
deviceInfo: string;
|
|
36
41
|
stateTree: string;
|
|
37
42
|
quickActions: string;
|
|
43
|
+
/** Dynamic: backstage.info.action.{index} */
|
|
44
|
+
actionButton: (index: number) => string;
|
|
38
45
|
};
|
|
39
46
|
logsTab: {
|
|
40
|
-
|
|
47
|
+
container: string;
|
|
41
48
|
searchInput: string;
|
|
42
49
|
copyButton: string;
|
|
43
50
|
list: string;
|
|
51
|
+
statsBar: string;
|
|
52
|
+
};
|
|
53
|
+
logItem: {
|
|
54
|
+
/** Dynamic: backstage.log-item.{id} */
|
|
55
|
+
container: (id: string) => string;
|
|
56
|
+
badge: (id: string) => string;
|
|
57
|
+
message: (id: string) => string;
|
|
58
|
+
timestamp: (id: string) => string;
|
|
59
|
+
dataContainer: (id: string) => string;
|
|
60
|
+
copyButton: (id: string) => string;
|
|
44
61
|
};
|
|
45
62
|
networkTab: {
|
|
46
|
-
|
|
63
|
+
container: string;
|
|
47
64
|
searchInput: string;
|
|
48
|
-
list: string;
|
|
49
65
|
clearButton: string;
|
|
66
|
+
list: string;
|
|
67
|
+
statsBar: string;
|
|
68
|
+
};
|
|
69
|
+
networkItem: {
|
|
70
|
+
/** Dynamic: backstage.network-item.{id} */
|
|
71
|
+
container: (id: string) => string;
|
|
72
|
+
methodBadge: (id: string) => string;
|
|
73
|
+
statusBadge: (id: string) => string;
|
|
74
|
+
url: (id: string) => string;
|
|
75
|
+
sectionTab: (id: string, section: string) => string;
|
|
76
|
+
curlButton: (id: string) => string;
|
|
77
|
+
};
|
|
78
|
+
flagsTab: {
|
|
79
|
+
container: string;
|
|
80
|
+
searchInput: string;
|
|
81
|
+
statsBar: string;
|
|
82
|
+
list: string;
|
|
83
|
+
/** Dynamic: backstage.flag.{key} — applied to the Switch */
|
|
84
|
+
flagSwitch: (key: string) => string;
|
|
85
|
+
flagLabel: (key: string) => string;
|
|
86
|
+
flagRow: (key: string) => string;
|
|
87
|
+
};
|
|
88
|
+
storageTab: {
|
|
89
|
+
container: string;
|
|
90
|
+
searchInput: string;
|
|
91
|
+
addButton: string;
|
|
92
|
+
addForm: string;
|
|
93
|
+
addKeyInput: string;
|
|
94
|
+
addValueInput: string;
|
|
95
|
+
addSubmitButton: string;
|
|
96
|
+
statsBar: string;
|
|
97
|
+
list: string;
|
|
98
|
+
/** Dynamic: backstage.storage.entry.{key} */
|
|
99
|
+
entryRow: (key: string) => string;
|
|
100
|
+
entryEditButton: (key: string) => string;
|
|
101
|
+
entryDeleteButton: (key: string) => string;
|
|
102
|
+
entryEditInput: (key: string) => string;
|
|
103
|
+
entrySaveButton: (key: string) => string;
|
|
104
|
+
entryCancelButton: (key: string) => string;
|
|
50
105
|
};
|
|
51
106
|
};
|
|
52
107
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,eAAO,MAAM,OAAO;;;;;;;;;;;CAWnB,CAAA;AAID,eAAO,MAAM,SAAS,EAAE,cAmBvB,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,cAmBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAInC,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,6BAA6B,QAAQ,CAAA;AAIlD,eAAO,MAAM,aAAa,QAGxB,CAAA;AAIF,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,eAAO,MAAM,OAAO;;;;;;;;;;;CAWnB,CAAA;AAID,eAAO,MAAM,SAAS,EAAE,cAmBvB,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,cAmBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAInC,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAC9C,eAAO,MAAM,6BAA6B,QAAQ,CAAA;AAIlD,eAAO,MAAM,aAAa,QAGxB,CAAA;AAIF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;QAgChB,6CAA6C;8BACvB,MAAM;;;;;;;;;;QAc5B,uCAAuC;wBACvB,MAAM;oBACV,MAAM;sBACJ,MAAM;wBACJ,MAAM;4BACF,MAAM;yBACT,MAAM;;;;;;;;;;QAcvB,2CAA2C;wBAC3B,MAAM;0BACJ,MAAM;0BACN,MAAM;kBACd,MAAM;yBACC,MAAM,WAAW,MAAM;yBACvB,MAAM;;;;;;;QASvB,4DAA4D;0BAC1C,MAAM;yBACP,MAAM;uBACR,MAAM;;;;;;;;;;;;QAcrB,6CAA6C;wBAC7B,MAAM;+BACC,MAAM;iCACJ,MAAM;8BACT,MAAM;+BACL,MAAM;iCACJ,MAAM;;CAElC,CAAA"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
export { Backstage } from './Backstage';
|
|
2
|
-
export type { BackstageProps, BackstageRef, BackstageTab, BackstageStyleOverrides, BackstageTheme, QuickAction, FeatureFlag, AppInfoItem, LogEntry, NetworkEntry, } from './types';
|
|
2
|
+
export type { BackstageProps, BackstageRef, BackstageTab, BackstageStyleOverrides, BackstageTheme, QuickAction, FeatureFlag, StorageAdapter, AppInfoItem, LogEntry, NetworkEntry, } from './types';
|
|
3
3
|
export { LogLevel, NetworkState } from './types';
|
|
4
4
|
export { TestIDs, DarkTheme, LightTheme } from './constants';
|
|
5
5
|
export type { ThemePreference } from './ThemeContext';
|
|
6
|
+
export { BackstagePanel } from './components/BackstagePanel';
|
|
7
|
+
export { FloatingPill } from './components/FloatingPill';
|
|
8
|
+
export { TabBar } from './components/TabBar';
|
|
9
|
+
export { InfoTab } from './components/InfoTab';
|
|
10
|
+
export { LogsTab } from './components/LogsTab';
|
|
11
|
+
export { LogItem } from './components/LogItem';
|
|
12
|
+
export { NetworkTab } from './components/NetworkTab';
|
|
13
|
+
export { NetworkItem } from './components/NetworkItem';
|
|
14
|
+
export { FlagsTab } from './components/FlagsTab';
|
|
15
|
+
export { StorageTab } from './components/StorageTab';
|
|
16
|
+
export { JsonTreeView } from './components/JsonTreeView';
|
|
6
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,YAAY,GACb,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -58,6 +58,16 @@ export interface FeatureFlag {
|
|
|
58
58
|
/** Optional description shown below the label */
|
|
59
59
|
description?: string;
|
|
60
60
|
}
|
|
61
|
+
export interface StorageAdapter {
|
|
62
|
+
/** Return all stored keys */
|
|
63
|
+
getAllKeys: () => Promise<string[]>;
|
|
64
|
+
/** Get value for a key. Return null if not found */
|
|
65
|
+
getItem: (key: string) => Promise<string | null>;
|
|
66
|
+
/** Set a value for a key */
|
|
67
|
+
setItem: (key: string, value: string) => Promise<void>;
|
|
68
|
+
/** Remove an entry by key */
|
|
69
|
+
removeItem: (key: string) => Promise<void>;
|
|
70
|
+
}
|
|
61
71
|
export interface BackstageTab {
|
|
62
72
|
key: string;
|
|
63
73
|
title: string;
|
|
@@ -105,6 +115,8 @@ export interface BackstageProps {
|
|
|
105
115
|
featureFlags?: FeatureFlag[];
|
|
106
116
|
/** Callback when a feature flag is toggled */
|
|
107
117
|
onToggleFeatureFlag?: (key: string, value: boolean) => void;
|
|
118
|
+
/** Storage adapter for the Storage Viewer tab (AsyncStorage, MMKV, etc.) */
|
|
119
|
+
storageAdapter?: StorageAdapter;
|
|
108
120
|
/** Maximum number of logs to retain in memory. Default: 500 */
|
|
109
121
|
maxLogs?: number;
|
|
110
122
|
/** Log messages containing these strings will be excluded */
|
|
@@ -123,6 +135,10 @@ export interface BackstageProps {
|
|
|
123
135
|
initialY?: number;
|
|
124
136
|
/** Text displayed on the floating pill. Defaults to appVersion or "DEV" */
|
|
125
137
|
pillText?: string;
|
|
138
|
+
/** Width of the floating pill. Default: 60 */
|
|
139
|
+
pillWidth?: number;
|
|
140
|
+
/** Height of the floating pill. Default: 32 */
|
|
141
|
+
pillHeight?: number;
|
|
126
142
|
/** Whether to enable network request interception. Default: true */
|
|
127
143
|
enableNetworkInspector?: boolean;
|
|
128
144
|
/** Maximum number of network entries to retain in memory. Default: 500 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rn-backstage",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "A zero-dependency developer/QA debug panel for React Native apps",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
"!**/.*"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
|
+
"example:ios": "cd example && npx expo run:ios",
|
|
20
|
+
"example:android": "cd example && npx expo run:android",
|
|
19
21
|
"typecheck": "tsc --noEmit",
|
|
20
22
|
"lint": "prettier --write \"**/*.{js,ts,tsx}\" && eslint \"**/*.{js,ts,tsx}\"",
|
|
21
23
|
"prepack": "bob build",
|
|
@@ -44,12 +46,12 @@
|
|
|
44
46
|
"access": "public"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
47
|
-
"@types/react": "~
|
|
49
|
+
"@types/react": "~19.2.10",
|
|
48
50
|
"del-cli": "^6.0.0",
|
|
49
51
|
"eslint": "^9.0.0",
|
|
50
52
|
"prettier": "^3.0.0",
|
|
51
|
-
"react": "
|
|
52
|
-
"react-native": "
|
|
53
|
+
"react": "19.2.0",
|
|
54
|
+
"react-native": "0.83.4",
|
|
53
55
|
"react-native-builder-bob": "^0.35.0",
|
|
54
56
|
"release-it": "^18.0.0",
|
|
55
57
|
"typescript": "^5.0.0",
|
package/src/Backstage.tsx
CHANGED
|
@@ -34,6 +34,7 @@ export const Backstage = forwardRef<BackstageRef, BackstageProps>(
|
|
|
34
34
|
quickActions,
|
|
35
35
|
featureFlags,
|
|
36
36
|
onToggleFeatureFlag,
|
|
37
|
+
storageAdapter,
|
|
37
38
|
maxLogs = DEFAULT_MAX_LOGS,
|
|
38
39
|
logFilters,
|
|
39
40
|
onCopyLogs,
|
|
@@ -43,6 +44,8 @@ export const Backstage = forwardRef<BackstageRef, BackstageProps>(
|
|
|
43
44
|
initialX,
|
|
44
45
|
initialY,
|
|
45
46
|
pillText,
|
|
47
|
+
pillWidth,
|
|
48
|
+
pillHeight,
|
|
46
49
|
enableNetworkInspector = true,
|
|
47
50
|
maxNetworkEntries = DEFAULT_MAX_NETWORK_ENTRIES,
|
|
48
51
|
maxNetworkBodySize,
|
|
@@ -164,6 +167,8 @@ export const Backstage = forwardRef<BackstageRef, BackstageProps>(
|
|
|
164
167
|
onPress={openPanel}
|
|
165
168
|
initialX={initialX}
|
|
166
169
|
initialY={initialY}
|
|
170
|
+
pillWidth={pillWidth}
|
|
171
|
+
pillHeight={pillHeight}
|
|
167
172
|
styles={propStyles}
|
|
168
173
|
/>
|
|
169
174
|
<BackstagePanel
|
|
@@ -186,6 +191,7 @@ export const Backstage = forwardRef<BackstageRef, BackstageProps>(
|
|
|
186
191
|
onCopyNetwork={onCopyLogs}
|
|
187
192
|
extraTabs={extraTabs}
|
|
188
193
|
jsonMaxDepth={jsonMaxDepth}
|
|
194
|
+
storageAdapter={storageAdapter}
|
|
189
195
|
styles={propStyles}
|
|
190
196
|
>
|
|
191
197
|
{children}
|
|
@@ -15,6 +15,7 @@ import { InfoTab } from './InfoTab'
|
|
|
15
15
|
import { LogsTab } from './LogsTab'
|
|
16
16
|
import { NetworkTab } from './NetworkTab'
|
|
17
17
|
import { FlagsTab } from './FlagsTab'
|
|
18
|
+
import { StorageTab } from './StorageTab'
|
|
18
19
|
import type {
|
|
19
20
|
AppInfoItem,
|
|
20
21
|
BackstageStyleOverrides,
|
|
@@ -23,6 +24,7 @@ import type {
|
|
|
23
24
|
LogEntry,
|
|
24
25
|
NetworkEntry,
|
|
25
26
|
QuickAction,
|
|
27
|
+
StorageAdapter,
|
|
26
28
|
} from '../types'
|
|
27
29
|
|
|
28
30
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
@@ -58,6 +60,9 @@ interface BackstagePanelProps {
|
|
|
58
60
|
// JSON tree
|
|
59
61
|
jsonMaxDepth?: number
|
|
60
62
|
|
|
63
|
+
// Storage
|
|
64
|
+
storageAdapter?: StorageAdapter
|
|
65
|
+
|
|
61
66
|
// Styling
|
|
62
67
|
styles?: BackstageStyleOverrides
|
|
63
68
|
children?: React.ReactNode
|
|
@@ -72,6 +77,8 @@ const ALWAYS_ON_TABS = [
|
|
|
72
77
|
|
|
73
78
|
const FLAGS_TAB = { key: 'flags', title: 'Flags', icon: '🎚' }
|
|
74
79
|
|
|
80
|
+
const STORAGE_TAB = { key: 'storage', title: 'Storage', icon: '🗄' }
|
|
81
|
+
|
|
75
82
|
const LOGS_TAB = { key: 'logs', title: 'Logs', icon: '📋' }
|
|
76
83
|
|
|
77
84
|
// ─── Component ───────────────────────────────────────────────────────────────
|
|
@@ -96,6 +103,7 @@ export const BackstagePanel: React.FC<BackstagePanelProps> = ({
|
|
|
96
103
|
onCopyNetwork,
|
|
97
104
|
extraTabs = [],
|
|
98
105
|
jsonMaxDepth,
|
|
106
|
+
storageAdapter,
|
|
99
107
|
styles: propStyles,
|
|
100
108
|
children,
|
|
101
109
|
}) => {
|
|
@@ -105,9 +113,11 @@ export const BackstagePanel: React.FC<BackstagePanelProps> = ({
|
|
|
105
113
|
|
|
106
114
|
// Compose all tabs: built-in (conditionally including Flags) + extra
|
|
107
115
|
const hasFlags = featureFlags && featureFlags.length > 0
|
|
116
|
+
const hasStorage = !!storageAdapter
|
|
108
117
|
const allTabs = [
|
|
109
118
|
...ALWAYS_ON_TABS,
|
|
110
119
|
...(hasFlags ? [FLAGS_TAB] : []),
|
|
120
|
+
...(hasStorage ? [STORAGE_TAB] : []),
|
|
111
121
|
LOGS_TAB,
|
|
112
122
|
...extraTabs.map(t => ({ key: t.key, title: t.title, icon: t.icon })),
|
|
113
123
|
]
|
|
@@ -133,6 +143,10 @@ export const BackstagePanel: React.FC<BackstagePanelProps> = ({
|
|
|
133
143
|
)
|
|
134
144
|
case 'flags':
|
|
135
145
|
return <FlagsTab flags={featureFlags ?? []} onToggle={onToggleFeatureFlag} />
|
|
146
|
+
case 'storage':
|
|
147
|
+
return storageAdapter ? (
|
|
148
|
+
<StorageTab adapter={storageAdapter} jsonMaxDepth={jsonMaxDepth} />
|
|
149
|
+
) : null
|
|
136
150
|
case 'network':
|
|
137
151
|
return (
|
|
138
152
|
<NetworkTab
|
|
@@ -166,7 +180,7 @@ export const BackstagePanel: React.FC<BackstagePanelProps> = ({
|
|
|
166
180
|
|
|
167
181
|
return (
|
|
168
182
|
<Modal
|
|
169
|
-
testID={TestIDs.
|
|
183
|
+
testID={TestIDs.panelModal}
|
|
170
184
|
animationType="slide"
|
|
171
185
|
transparent={false}
|
|
172
186
|
visible={visible}
|
|
@@ -177,12 +191,17 @@ export const BackstagePanel: React.FC<BackstagePanelProps> = ({
|
|
|
177
191
|
barStyle={theme.background < '#888' ? 'light-content' : 'dark-content'}
|
|
178
192
|
backgroundColor={theme.background}
|
|
179
193
|
/>
|
|
180
|
-
<SafeAreaView style={[styles.safeArea, propStyles?.panelStyle]}>
|
|
194
|
+
<SafeAreaView testID={TestIDs.panel} style={[styles.safeArea, propStyles?.panelStyle]}>
|
|
181
195
|
{/* ── Header ──────────────────────────────────────────── */}
|
|
182
|
-
<View style={styles.header}>
|
|
196
|
+
<View testID={TestIDs.header.container} style={styles.header}>
|
|
183
197
|
<View style={styles.headerLeft}>
|
|
184
198
|
<Text style={styles.headerBrand}>⚙</Text>
|
|
185
|
-
<Text
|
|
199
|
+
<Text
|
|
200
|
+
testID={TestIDs.header.title}
|
|
201
|
+
style={[styles.headerTitle, propStyles?.headerTitleStyle]}
|
|
202
|
+
>
|
|
203
|
+
Backstage
|
|
204
|
+
</Text>
|
|
186
205
|
</View>
|
|
187
206
|
<TouchableOpacity
|
|
188
207
|
testID={TestIDs.header.closeButton}
|
|
@@ -79,10 +79,10 @@ export const FlagsTab: React.FC<FlagsTabProps> = ({ flags, onToggle }) => {
|
|
|
79
79
|
<View key={flag.key}>
|
|
80
80
|
<View style={s.flagRow}>
|
|
81
81
|
<View style={s.flagInfo}>
|
|
82
|
-
|
|
83
|
-
<Text style={s.flagLabel}>{flag.label}</Text>
|
|
84
|
-
<Text style={[s.flagKey, flag.value && s.flagKeyActive]}>{flag.key}</Text>
|
|
82
|
+
<View style={s.flagHeader}>
|
|
83
|
+
<Text style={s.flagLabel} numberOfLines={2}>{flag.label}</Text>
|
|
85
84
|
</View>
|
|
85
|
+
<Text style={[s.flagKey, flag.value && s.flagKeyActive]}>{flag.key}</Text>
|
|
86
86
|
{flag.description && <Text style={s.flagDescription}>{flag.description}</Text>}
|
|
87
87
|
</View>
|
|
88
88
|
<Switch
|
|
@@ -169,7 +169,7 @@ const createStyles = (t: BackstageTheme) =>
|
|
|
169
169
|
paddingHorizontal: 4,
|
|
170
170
|
},
|
|
171
171
|
flagInfo: { flex: 1, marginRight: 16 },
|
|
172
|
-
flagHeader: { flexDirection: 'row', alignItems: 'center'
|
|
172
|
+
flagHeader: { flexDirection: 'row', alignItems: 'center' },
|
|
173
173
|
flagLabel: {
|
|
174
174
|
fontFamily: MonospaceFont,
|
|
175
175
|
fontSize: 14,
|
|
@@ -185,6 +185,8 @@ const createStyles = (t: BackstageTheme) =>
|
|
|
185
185
|
paddingHorizontal: 6,
|
|
186
186
|
paddingVertical: 1,
|
|
187
187
|
overflow: 'hidden',
|
|
188
|
+
alignSelf: 'flex-start',
|
|
189
|
+
marginTop: 4,
|
|
188
190
|
},
|
|
189
191
|
flagKeyActive: { color: t.accent, backgroundColor: t.accentDim },
|
|
190
192
|
flagDescription: {
|