rn-backstage 1.2.0 → 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 +84 -2
- package/lib/commonjs/Backstage.js +46 -33
- package/lib/commonjs/Backstage.js.map +1 -1
- package/lib/commonjs/ThemeContext.js +43 -0
- package/lib/commonjs/ThemeContext.js.map +1 -0
- package/lib/commonjs/components/BackstagePanel.js +35 -12
- package/lib/commonjs/components/BackstagePanel.js.map +1 -1
- package/lib/commonjs/components/FlagsTab.js +60 -57
- package/lib/commonjs/components/FlagsTab.js.map +1 -1
- package/lib/commonjs/components/FloatingPill.js +86 -24
- package/lib/commonjs/components/FloatingPill.js.map +1 -1
- package/lib/commonjs/components/InfoTab.js +77 -107
- package/lib/commonjs/components/InfoTab.js.map +1 -1
- package/lib/commonjs/components/JsonTreeView.js +39 -34
- package/lib/commonjs/components/JsonTreeView.js.map +1 -1
- package/lib/commonjs/components/LogItem.js +39 -29
- package/lib/commonjs/components/LogItem.js.map +1 -1
- package/lib/commonjs/components/LogsTab.js +39 -42
- package/lib/commonjs/components/LogsTab.js.map +1 -1
- package/lib/commonjs/components/NetworkItem.js +111 -135
- package/lib/commonjs/components/NetworkItem.js.map +1 -1
- package/lib/commonjs/components/NetworkTab.js +50 -49
- 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/components/TabBar.js +8 -5
- package/lib/commonjs/components/TabBar.js.map +1 -1
- package/lib/commonjs/constants.js +96 -7
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/index.js +96 -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 +46 -33
- package/lib/module/Backstage.js.map +1 -1
- package/lib/module/ThemeContext.js +37 -0
- package/lib/module/ThemeContext.js.map +1 -0
- package/lib/module/components/BackstagePanel.js +37 -14
- package/lib/module/components/BackstagePanel.js.map +1 -1
- package/lib/module/components/FlagsTab.js +61 -58
- package/lib/module/components/FlagsTab.js.map +1 -1
- package/lib/module/components/FloatingPill.js +90 -28
- package/lib/module/components/FloatingPill.js.map +1 -1
- package/lib/module/components/InfoTab.js +77 -107
- package/lib/module/components/InfoTab.js.map +1 -1
- package/lib/module/components/JsonTreeView.js +42 -38
- package/lib/module/components/JsonTreeView.js.map +1 -1
- package/lib/module/components/LogItem.js +41 -31
- package/lib/module/components/LogItem.js.map +1 -1
- package/lib/module/components/LogsTab.js +40 -43
- package/lib/module/components/LogsTab.js.map +1 -1
- package/lib/module/components/NetworkItem.js +113 -137
- package/lib/module/components/NetworkItem.js.map +1 -1
- package/lib/module/components/NetworkTab.js +51 -50
- 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/components/TabBar.js +10 -7
- package/lib/module/components/TabBar.js.map +1 -1
- package/lib/module/constants.js +95 -6
- package/lib/module/constants.js.map +1 -1
- package/lib/module/index.js +14 -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/ThemeContext.d.ts +11 -0
- package/lib/typescript/ThemeContext.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/FlagsTab.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 +1 -0
- package/lib/typescript/components/InfoTab.d.ts.map +1 -1
- package/lib/typescript/components/JsonTreeView.d.ts.map +1 -1
- package/lib/typescript/components/LogItem.d.ts +1 -0
- package/lib/typescript/components/LogItem.d.ts.map +1 -1
- package/lib/typescript/components/LogsTab.d.ts +1 -0
- package/lib/typescript/components/LogsTab.d.ts.map +1 -1
- package/lib/typescript/components/NetworkItem.d.ts +1 -0
- package/lib/typescript/components/NetworkItem.d.ts.map +1 -1
- package/lib/typescript/components/NetworkTab.d.ts +1 -0
- package/lib/typescript/components/NetworkTab.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/components/TabBar.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +60 -4
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +14 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +20 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/Backstage.tsx +45 -33
- package/src/ThemeContext.tsx +38 -0
- package/src/components/BackstagePanel.tsx +89 -61
- package/src/components/FlagsTab.tsx +125 -174
- package/src/components/FloatingPill.tsx +127 -30
- package/src/components/InfoTab.tsx +153 -186
- package/src/components/JsonTreeView.tsx +53 -73
- package/src/components/LogItem.tsx +64 -100
- package/src/components/LogsTab.tsx +110 -132
- package/src/components/NetworkItem.tsx +306 -417
- package/src/components/NetworkTab.tsx +129 -163
- package/src/components/StorageTab.tsx +607 -0
- package/src/components/TabBar.tsx +51 -47
- package/src/constants.ts +103 -4
- package/src/index.ts +17 -0
- package/src/types.ts +28 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
4
|
+
import { useColorScheme } from 'react-native';
|
|
5
|
+
import { DarkTheme, LightTheme } from './constants';
|
|
6
|
+
|
|
7
|
+
// ─── Theme Preference ────────────────────────────────────────────────────────
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
// ─── Context ─────────────────────────────────────────────────────────────────
|
|
10
|
+
|
|
11
|
+
const ThemeContext = /*#__PURE__*/createContext(DarkTheme);
|
|
12
|
+
|
|
13
|
+
// ─── Provider ────────────────────────────────────────────────────────────────
|
|
14
|
+
|
|
15
|
+
export const BackstageThemeProvider = ({
|
|
16
|
+
preference,
|
|
17
|
+
children
|
|
18
|
+
}) => {
|
|
19
|
+
const systemScheme = useColorScheme();
|
|
20
|
+
const theme = useMemo(() => {
|
|
21
|
+
if (preference === 'light') return LightTheme;
|
|
22
|
+
if (preference === 'dark') return DarkTheme;
|
|
23
|
+
// 'auto' — follow system, fallback to dark
|
|
24
|
+
return systemScheme === 'light' ? LightTheme : DarkTheme;
|
|
25
|
+
}, [preference, systemScheme]);
|
|
26
|
+
return /*#__PURE__*/_jsx(ThemeContext.Provider, {
|
|
27
|
+
value: theme,
|
|
28
|
+
children: children
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// ─── Hook ────────────────────────────────────────────────────────────────────
|
|
33
|
+
|
|
34
|
+
export function useBackstageTheme() {
|
|
35
|
+
return useContext(ThemeContext);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ThemeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useMemo","useColorScheme","DarkTheme","LightTheme","jsx","_jsx","ThemeContext","BackstageThemeProvider","preference","children","systemScheme","theme","Provider","value","useBackstageTheme"],"sourceRoot":"../../src","sources":["ThemeContext.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACjE,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,SAAS,EAAEC,UAAU,QAAQ,aAAa;;AAGnD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIA;;AAEA,MAAMC,YAAY,gBAAGR,aAAa,CAAiBI,SAAS,CAAC;;AAE7D;;AAOA,OAAO,MAAMK,sBAAoD,GAAGA,CAAC;EAAEC,UAAU;EAAEC;AAAS,CAAC,KAAK;EAChG,MAAMC,YAAY,GAAGT,cAAc,CAAC,CAAC;EAErC,MAAMU,KAAK,GAAGX,OAAO,CAAC,MAAM;IAC1B,IAAIQ,UAAU,KAAK,OAAO,EAAE,OAAOL,UAAU;IAC7C,IAAIK,UAAU,KAAK,MAAM,EAAE,OAAON,SAAS;IAC3C;IACA,OAAOQ,YAAY,KAAK,OAAO,GAAGP,UAAU,GAAGD,SAAS;EAC1D,CAAC,EAAE,CAACM,UAAU,EAAEE,YAAY,CAAC,CAAC;EAE9B,oBAAOL,IAAA,CAACC,YAAY,CAACM,QAAQ;IAACC,KAAK,EAAEF,KAAM;IAAAF,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAChF,CAAC;;AAED;;AAEA,OAAO,SAASK,iBAAiBA,CAAA,EAAmB;EAClD,OAAOf,UAAU,CAACO,YAAY,CAAC;AACjC","ignoreList":[]}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useState } from 'react';
|
|
3
|
+
import React, { useMemo, useState } from 'react';
|
|
4
4
|
import { Modal, SafeAreaView, StatusBar, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
-
import {
|
|
5
|
+
import { MonospaceFont, TestIDs } from '../constants';
|
|
6
|
+
import { useBackstageTheme } from '../ThemeContext';
|
|
6
7
|
import { TabBar } from './TabBar';
|
|
7
8
|
import { InfoTab } from './InfoTab';
|
|
8
9
|
import { LogsTab } from './LogsTab';
|
|
9
10
|
import { NetworkTab } from './NetworkTab';
|
|
10
11
|
import { FlagsTab } from './FlagsTab';
|
|
12
|
+
import { StorageTab } from './StorageTab';
|
|
11
13
|
|
|
12
14
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
13
15
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -27,6 +29,11 @@ const FLAGS_TAB = {
|
|
|
27
29
|
title: 'Flags',
|
|
28
30
|
icon: '🎚'
|
|
29
31
|
};
|
|
32
|
+
const STORAGE_TAB = {
|
|
33
|
+
key: 'storage',
|
|
34
|
+
title: 'Storage',
|
|
35
|
+
icon: '🗄'
|
|
36
|
+
};
|
|
30
37
|
const LOGS_TAB = {
|
|
31
38
|
key: 'logs',
|
|
32
39
|
title: 'Logs',
|
|
@@ -54,14 +61,19 @@ export const BackstagePanel = ({
|
|
|
54
61
|
onClearNetwork,
|
|
55
62
|
onCopyNetwork,
|
|
56
63
|
extraTabs = [],
|
|
64
|
+
jsonMaxDepth,
|
|
65
|
+
storageAdapter,
|
|
57
66
|
styles: propStyles,
|
|
58
67
|
children
|
|
59
68
|
}) => {
|
|
60
69
|
const [activeTab, setActiveTab] = useState('info');
|
|
70
|
+
const theme = useBackstageTheme();
|
|
71
|
+
const styles = useMemo(() => createStyles(theme), [theme]);
|
|
61
72
|
|
|
62
73
|
// Compose all tabs: built-in (conditionally including Flags) + extra
|
|
63
74
|
const hasFlags = featureFlags && featureFlags.length > 0;
|
|
64
|
-
const
|
|
75
|
+
const hasStorage = !!storageAdapter;
|
|
76
|
+
const allTabs = [...ALWAYS_ON_TABS, ...(hasFlags ? [FLAGS_TAB] : []), ...(hasStorage ? [STORAGE_TAB] : []), LOGS_TAB, ...extraTabs.map(t => ({
|
|
65
77
|
key: t.key,
|
|
66
78
|
title: t.title,
|
|
67
79
|
icon: t.icon
|
|
@@ -78,6 +90,7 @@ export const BackstagePanel = ({
|
|
|
78
90
|
deviceInfo: deviceInfo,
|
|
79
91
|
state: state,
|
|
80
92
|
quickActions: quickActions,
|
|
93
|
+
jsonMaxDepth: jsonMaxDepth,
|
|
81
94
|
onClosePanel: onClose,
|
|
82
95
|
styles: propStyles,
|
|
83
96
|
children: children
|
|
@@ -87,18 +100,25 @@ export const BackstagePanel = ({
|
|
|
87
100
|
flags: featureFlags ?? [],
|
|
88
101
|
onToggle: onToggleFeatureFlag
|
|
89
102
|
});
|
|
103
|
+
case 'storage':
|
|
104
|
+
return storageAdapter ? /*#__PURE__*/_jsx(StorageTab, {
|
|
105
|
+
adapter: storageAdapter,
|
|
106
|
+
jsonMaxDepth: jsonMaxDepth
|
|
107
|
+
}) : null;
|
|
90
108
|
case 'network':
|
|
91
109
|
return /*#__PURE__*/_jsx(NetworkTab, {
|
|
92
110
|
entries: networkEntries,
|
|
93
111
|
onRefresh: onRefreshNetwork,
|
|
94
112
|
onClear: onClearNetwork,
|
|
95
|
-
onCopy: onCopyNetwork
|
|
113
|
+
onCopy: onCopyNetwork,
|
|
114
|
+
jsonMaxDepth: jsonMaxDepth
|
|
96
115
|
});
|
|
97
116
|
case 'logs':
|
|
98
117
|
return /*#__PURE__*/_jsx(LogsTab, {
|
|
99
118
|
logs: logs,
|
|
100
119
|
onRefresh: onRefreshLogs,
|
|
101
120
|
onCopyLogs: onCopyLogs,
|
|
121
|
+
jsonMaxDepth: jsonMaxDepth,
|
|
102
122
|
styles: propStyles
|
|
103
123
|
});
|
|
104
124
|
default:
|
|
@@ -115,18 +135,20 @@ export const BackstagePanel = ({
|
|
|
115
135
|
}
|
|
116
136
|
};
|
|
117
137
|
return /*#__PURE__*/_jsxs(Modal, {
|
|
118
|
-
testID: TestIDs.
|
|
138
|
+
testID: TestIDs.panelModal,
|
|
119
139
|
animationType: "slide",
|
|
120
140
|
transparent: false,
|
|
121
141
|
visible: visible,
|
|
122
142
|
onRequestClose: onClose,
|
|
123
143
|
statusBarTranslucent: true,
|
|
124
144
|
children: [/*#__PURE__*/_jsx(StatusBar, {
|
|
125
|
-
barStyle:
|
|
126
|
-
backgroundColor:
|
|
145
|
+
barStyle: theme.background < '#888' ? 'light-content' : 'dark-content',
|
|
146
|
+
backgroundColor: theme.background
|
|
127
147
|
}), /*#__PURE__*/_jsxs(SafeAreaView, {
|
|
148
|
+
testID: TestIDs.panel,
|
|
128
149
|
style: [styles.safeArea, propStyles?.panelStyle],
|
|
129
150
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
151
|
+
testID: TestIDs.header.container,
|
|
130
152
|
style: styles.header,
|
|
131
153
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
132
154
|
style: styles.headerLeft,
|
|
@@ -134,6 +156,7 @@ export const BackstagePanel = ({
|
|
|
134
156
|
style: styles.headerBrand,
|
|
135
157
|
children: "\u2699"
|
|
136
158
|
}), /*#__PURE__*/_jsx(Text, {
|
|
159
|
+
testID: TestIDs.header.title,
|
|
137
160
|
style: [styles.headerTitle, propStyles?.headerTitleStyle],
|
|
138
161
|
children: "Backstage"
|
|
139
162
|
})]
|
|
@@ -167,10 +190,10 @@ export const BackstagePanel = ({
|
|
|
167
190
|
|
|
168
191
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
169
192
|
|
|
170
|
-
const
|
|
193
|
+
const createStyles = t => StyleSheet.create({
|
|
171
194
|
safeArea: {
|
|
172
195
|
flex: 1,
|
|
173
|
-
backgroundColor:
|
|
196
|
+
backgroundColor: t.background
|
|
174
197
|
},
|
|
175
198
|
header: {
|
|
176
199
|
flexDirection: 'row',
|
|
@@ -179,7 +202,7 @@ const styles = StyleSheet.create({
|
|
|
179
202
|
paddingHorizontal: 16,
|
|
180
203
|
paddingVertical: 12,
|
|
181
204
|
borderBottomWidth: 1,
|
|
182
|
-
borderBottomColor:
|
|
205
|
+
borderBottomColor: t.border
|
|
183
206
|
},
|
|
184
207
|
headerLeft: {
|
|
185
208
|
flexDirection: 'row',
|
|
@@ -193,22 +216,22 @@ const styles = StyleSheet.create({
|
|
|
193
216
|
fontFamily: MonospaceFont,
|
|
194
217
|
fontSize: 18,
|
|
195
218
|
fontWeight: '800',
|
|
196
|
-
color:
|
|
219
|
+
color: t.text,
|
|
197
220
|
letterSpacing: 1
|
|
198
221
|
},
|
|
199
222
|
closeButton: {
|
|
200
223
|
width: 32,
|
|
201
224
|
height: 32,
|
|
202
225
|
borderRadius: 16,
|
|
203
|
-
backgroundColor:
|
|
226
|
+
backgroundColor: t.surfaceElevated,
|
|
204
227
|
borderWidth: 1,
|
|
205
|
-
borderColor:
|
|
228
|
+
borderColor: t.border,
|
|
206
229
|
alignItems: 'center',
|
|
207
230
|
justifyContent: 'center'
|
|
208
231
|
},
|
|
209
232
|
closeButtonText: {
|
|
210
233
|
fontSize: 14,
|
|
211
|
-
color:
|
|
234
|
+
color: t.textSecondary,
|
|
212
235
|
fontWeight: '700'
|
|
213
236
|
},
|
|
214
237
|
content: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Modal","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","
|
|
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":[]}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useMemo, useState } from 'react';
|
|
4
4
|
import { ScrollView, StyleSheet, Switch, Text, TextInput, View } from 'react-native';
|
|
5
|
-
import {
|
|
5
|
+
import { MonospaceFont } from '../constants';
|
|
6
|
+
import { useBackstageTheme } from '../ThemeContext';
|
|
6
7
|
|
|
7
8
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -12,28 +13,28 @@ export const FlagsTab = ({
|
|
|
12
13
|
flags,
|
|
13
14
|
onToggle
|
|
14
15
|
}) => {
|
|
16
|
+
const theme = useBackstageTheme();
|
|
17
|
+
const s = useMemo(() => createStyles(theme), [theme]);
|
|
15
18
|
const [searchText, setSearchText] = useState('');
|
|
16
19
|
const filteredFlags = useMemo(() => {
|
|
17
20
|
if (!searchText.trim()) return flags;
|
|
18
21
|
const query = searchText.toLowerCase();
|
|
19
22
|
return flags.filter(f => f.label.toLowerCase().includes(query) || f.key.toLowerCase().includes(query) || f.description && f.description.toLowerCase().includes(query));
|
|
20
23
|
}, [flags, searchText]);
|
|
21
|
-
|
|
22
|
-
// Stats
|
|
23
24
|
const enabledCount = flags.filter(f => f.value).length;
|
|
24
25
|
return /*#__PURE__*/_jsxs(View, {
|
|
25
|
-
style:
|
|
26
|
+
style: s.container,
|
|
26
27
|
children: [/*#__PURE__*/_jsx(View, {
|
|
27
|
-
style:
|
|
28
|
+
style: s.searchContainer,
|
|
28
29
|
children: /*#__PURE__*/_jsxs(View, {
|
|
29
|
-
style:
|
|
30
|
+
style: s.searchInputWrapper,
|
|
30
31
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
31
|
-
style:
|
|
32
|
+
style: s.searchIcon,
|
|
32
33
|
children: "\u2315"
|
|
33
34
|
}), /*#__PURE__*/_jsx(TextInput, {
|
|
34
|
-
style:
|
|
35
|
+
style: s.searchInput,
|
|
35
36
|
placeholder: "Filter flags...",
|
|
36
|
-
placeholderTextColor:
|
|
37
|
+
placeholderTextColor: theme.textMuted,
|
|
37
38
|
value: searchText,
|
|
38
39
|
onChangeText: setSearchText,
|
|
39
40
|
autoCapitalize: "none",
|
|
@@ -43,52 +44,53 @@ export const FlagsTab = ({
|
|
|
43
44
|
})]
|
|
44
45
|
})
|
|
45
46
|
}), /*#__PURE__*/_jsxs(View, {
|
|
46
|
-
style:
|
|
47
|
+
style: s.statsBar,
|
|
47
48
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
48
|
-
style:
|
|
49
|
+
style: s.statText,
|
|
49
50
|
children: filteredFlags.length === flags.length ? `${flags.length} flag${flags.length !== 1 ? 's' : ''}` : `${filteredFlags.length} of ${flags.length}`
|
|
50
51
|
}), /*#__PURE__*/_jsxs(Text, {
|
|
51
|
-
style:
|
|
52
|
+
style: s.statText,
|
|
52
53
|
children: [/*#__PURE__*/_jsxs(Text, {
|
|
53
|
-
style:
|
|
54
|
+
style: s.statEnabled,
|
|
54
55
|
children: [enabledCount, " on"]
|
|
55
56
|
}), ' · ', /*#__PURE__*/_jsxs(Text, {
|
|
56
|
-
style:
|
|
57
|
+
style: s.statDisabled,
|
|
57
58
|
children: [flags.length - enabledCount, " off"]
|
|
58
59
|
})]
|
|
59
60
|
})]
|
|
60
61
|
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
61
|
-
style:
|
|
62
|
-
contentContainerStyle: filteredFlags.length === 0 ?
|
|
62
|
+
style: s.list,
|
|
63
|
+
contentContainerStyle: filteredFlags.length === 0 ? s.emptyContainer : s.listContent,
|
|
63
64
|
showsVerticalScrollIndicator: false,
|
|
64
65
|
children: filteredFlags.length === 0 ? /*#__PURE__*/_jsxs(View, {
|
|
65
|
-
style:
|
|
66
|
+
style: s.emptyState,
|
|
66
67
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
67
|
-
style:
|
|
68
|
+
style: s.emptyIcon,
|
|
68
69
|
children: "\uD83C\uDF9A"
|
|
69
70
|
}), /*#__PURE__*/_jsx(Text, {
|
|
70
|
-
style:
|
|
71
|
+
style: s.emptyTitle,
|
|
71
72
|
children: "No flags match"
|
|
72
73
|
}), /*#__PURE__*/_jsx(Text, {
|
|
73
|
-
style:
|
|
74
|
+
style: s.emptySubtitle,
|
|
74
75
|
children: "Try adjusting your search"
|
|
75
76
|
})]
|
|
76
77
|
}) : filteredFlags.map((flag, index) => /*#__PURE__*/_jsxs(View, {
|
|
77
78
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
78
|
-
style:
|
|
79
|
+
style: s.flagRow,
|
|
79
80
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
80
|
-
style:
|
|
81
|
-
children: [/*#__PURE__*/
|
|
82
|
-
style:
|
|
83
|
-
children:
|
|
84
|
-
style:
|
|
81
|
+
style: s.flagInfo,
|
|
82
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
83
|
+
style: s.flagHeader,
|
|
84
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
85
|
+
style: s.flagLabel,
|
|
86
|
+
numberOfLines: 2,
|
|
85
87
|
children: flag.label
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
})
|
|
89
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
90
|
+
style: [s.flagKey, flag.value && s.flagKeyActive],
|
|
91
|
+
children: flag.key
|
|
90
92
|
}), flag.description && /*#__PURE__*/_jsx(Text, {
|
|
91
|
-
style:
|
|
93
|
+
style: s.flagDescription,
|
|
92
94
|
children: flag.description
|
|
93
95
|
})]
|
|
94
96
|
}), /*#__PURE__*/_jsx(Switch, {
|
|
@@ -96,14 +98,14 @@ export const FlagsTab = ({
|
|
|
96
98
|
value: flag.value,
|
|
97
99
|
onValueChange: newValue => onToggle?.(flag.key, newValue),
|
|
98
100
|
trackColor: {
|
|
99
|
-
false:
|
|
100
|
-
true:
|
|
101
|
+
false: theme.border,
|
|
102
|
+
true: theme.accent
|
|
101
103
|
},
|
|
102
|
-
thumbColor: flag.value ? '#FFFFFF' :
|
|
103
|
-
ios_backgroundColor:
|
|
104
|
+
thumbColor: flag.value ? '#FFFFFF' : theme.textMuted,
|
|
105
|
+
ios_backgroundColor: theme.border
|
|
104
106
|
})]
|
|
105
107
|
}), index < filteredFlags.length - 1 && /*#__PURE__*/_jsx(View, {
|
|
106
|
-
style:
|
|
108
|
+
style: s.divider
|
|
107
109
|
})]
|
|
108
110
|
}, flag.key))
|
|
109
111
|
})]
|
|
@@ -112,7 +114,7 @@ export const FlagsTab = ({
|
|
|
112
114
|
|
|
113
115
|
// ─── Styles ──────────────────────────────────────────────────────────────────
|
|
114
116
|
|
|
115
|
-
const
|
|
117
|
+
const createStyles = t => StyleSheet.create({
|
|
116
118
|
container: {
|
|
117
119
|
flex: 1
|
|
118
120
|
},
|
|
@@ -120,28 +122,28 @@ const styles = StyleSheet.create({
|
|
|
120
122
|
paddingHorizontal: 14,
|
|
121
123
|
paddingVertical: 10,
|
|
122
124
|
borderBottomWidth: 1,
|
|
123
|
-
borderBottomColor:
|
|
125
|
+
borderBottomColor: t.border
|
|
124
126
|
},
|
|
125
127
|
searchInputWrapper: {
|
|
126
128
|
flexDirection: 'row',
|
|
127
129
|
alignItems: 'center',
|
|
128
|
-
backgroundColor:
|
|
130
|
+
backgroundColor: t.surfaceElevated,
|
|
129
131
|
borderRadius: 10,
|
|
130
132
|
borderWidth: 1,
|
|
131
|
-
borderColor:
|
|
133
|
+
borderColor: t.border,
|
|
132
134
|
paddingHorizontal: 12,
|
|
133
135
|
height: 38
|
|
134
136
|
},
|
|
135
137
|
searchIcon: {
|
|
136
138
|
fontSize: 16,
|
|
137
|
-
color:
|
|
139
|
+
color: t.textMuted,
|
|
138
140
|
marginRight: 8
|
|
139
141
|
},
|
|
140
142
|
searchInput: {
|
|
141
143
|
flex: 1,
|
|
142
144
|
fontFamily: MonospaceFont,
|
|
143
145
|
fontSize: 13,
|
|
144
|
-
color:
|
|
146
|
+
color: t.text,
|
|
145
147
|
padding: 0
|
|
146
148
|
},
|
|
147
149
|
statsBar: {
|
|
@@ -150,19 +152,19 @@ const styles = StyleSheet.create({
|
|
|
150
152
|
alignItems: 'center',
|
|
151
153
|
paddingHorizontal: 16,
|
|
152
154
|
paddingVertical: 6,
|
|
153
|
-
backgroundColor:
|
|
155
|
+
backgroundColor: t.surface
|
|
154
156
|
},
|
|
155
157
|
statText: {
|
|
156
158
|
fontFamily: MonospaceFont,
|
|
157
159
|
fontSize: 11,
|
|
158
|
-
color:
|
|
160
|
+
color: t.textMuted
|
|
159
161
|
},
|
|
160
162
|
statEnabled: {
|
|
161
|
-
color:
|
|
163
|
+
color: t.success,
|
|
162
164
|
fontWeight: '700'
|
|
163
165
|
},
|
|
164
166
|
statDisabled: {
|
|
165
|
-
color:
|
|
167
|
+
color: t.textMuted
|
|
166
168
|
},
|
|
167
169
|
list: {
|
|
168
170
|
flex: 1
|
|
@@ -189,13 +191,13 @@ const styles = StyleSheet.create({
|
|
|
189
191
|
fontFamily: MonospaceFont,
|
|
190
192
|
fontSize: 16,
|
|
191
193
|
fontWeight: '700',
|
|
192
|
-
color:
|
|
194
|
+
color: t.textSecondary,
|
|
193
195
|
marginBottom: 8
|
|
194
196
|
},
|
|
195
197
|
emptySubtitle: {
|
|
196
198
|
fontFamily: MonospaceFont,
|
|
197
199
|
fontSize: 13,
|
|
198
|
-
color:
|
|
200
|
+
color: t.textMuted,
|
|
199
201
|
textAlign: 'center'
|
|
200
202
|
},
|
|
201
203
|
flagRow: {
|
|
@@ -211,39 +213,40 @@ const styles = StyleSheet.create({
|
|
|
211
213
|
},
|
|
212
214
|
flagHeader: {
|
|
213
215
|
flexDirection: 'row',
|
|
214
|
-
alignItems: 'center'
|
|
215
|
-
gap: 8
|
|
216
|
+
alignItems: 'center'
|
|
216
217
|
},
|
|
217
218
|
flagLabel: {
|
|
218
219
|
fontFamily: MonospaceFont,
|
|
219
220
|
fontSize: 14,
|
|
220
|
-
color:
|
|
221
|
+
color: t.text,
|
|
221
222
|
fontWeight: '600'
|
|
222
223
|
},
|
|
223
224
|
flagKey: {
|
|
224
225
|
fontFamily: MonospaceFont,
|
|
225
226
|
fontSize: 10,
|
|
226
|
-
color:
|
|
227
|
-
backgroundColor:
|
|
227
|
+
color: t.textMuted,
|
|
228
|
+
backgroundColor: t.surfaceElevated,
|
|
228
229
|
borderRadius: 4,
|
|
229
230
|
paddingHorizontal: 6,
|
|
230
231
|
paddingVertical: 1,
|
|
231
|
-
overflow: 'hidden'
|
|
232
|
+
overflow: 'hidden',
|
|
233
|
+
alignSelf: 'flex-start',
|
|
234
|
+
marginTop: 4
|
|
232
235
|
},
|
|
233
236
|
flagKeyActive: {
|
|
234
|
-
color:
|
|
235
|
-
backgroundColor:
|
|
237
|
+
color: t.accent,
|
|
238
|
+
backgroundColor: t.accentDim
|
|
236
239
|
},
|
|
237
240
|
flagDescription: {
|
|
238
241
|
fontFamily: MonospaceFont,
|
|
239
242
|
fontSize: 12,
|
|
240
|
-
color:
|
|
243
|
+
color: t.textMuted,
|
|
241
244
|
marginTop: 4,
|
|
242
245
|
lineHeight: 18
|
|
243
246
|
},
|
|
244
247
|
divider: {
|
|
245
248
|
height: 1,
|
|
246
|
-
backgroundColor:
|
|
249
|
+
backgroundColor: t.border,
|
|
247
250
|
marginHorizontal: 4
|
|
248
251
|
}
|
|
249
252
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useState","ScrollView","StyleSheet","Switch","Text","TextInput","View","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useState","ScrollView","StyleSheet","Switch","Text","TextInput","View","MonospaceFont","useBackstageTheme","jsx","_jsx","jsxs","_jsxs","FlagsTab","flags","onToggle","theme","s","createStyles","searchText","setSearchText","filteredFlags","trim","query","toLowerCase","filter","f","label","includes","key","description","enabledCount","value","length","style","container","children","searchContainer","searchInputWrapper","searchIcon","searchInput","placeholder","placeholderTextColor","textMuted","onChangeText","autoCapitalize","autoCorrect","clearButtonMode","returnKeyType","statsBar","statText","statEnabled","statDisabled","list","contentContainerStyle","emptyContainer","listContent","showsVerticalScrollIndicator","emptyState","emptyIcon","emptyTitle","emptySubtitle","map","flag","index","flagRow","flagInfo","flagHeader","flagLabel","numberOfLines","flagKey","flagKeyActive","flagDescription","testID","onValueChange","newValue","trackColor","false","border","true","accent","thumbColor","ios_backgroundColor","divider","t","create","flex","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","flexDirection","alignItems","backgroundColor","surfaceElevated","borderRadius","borderWidth","borderColor","height","fontSize","color","marginRight","fontFamily","text","padding","justifyContent","surface","success","fontWeight","marginBottom","opacity","textSecondary","textAlign","overflow","alignSelf","marginTop","accentDim","lineHeight","marginHorizontal"],"sourceRoot":"../../../src","sources":["components/FlagsTab.tsx"],"mappings":"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","ignoreList":[]}
|