react-native-xenon 0.7.0 → 1.0.1
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 +34 -30
- package/lib/commonjs/core/refs.js +33 -0
- package/lib/commonjs/core/refs.js.map +1 -0
- package/lib/commonjs/core/utils.js +40 -9
- package/lib/commonjs/core/utils.js.map +1 -1
- package/lib/commonjs/hooks/useNetworkInterceptor.js +14 -15
- package/lib/commonjs/hooks/useNetworkInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/FetchInterceptor.js +6 -9
- package/lib/commonjs/interceptors/FetchInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/WebSocketInterceptor.js +2 -9
- package/lib/commonjs/interceptors/WebSocketInterceptor.js.map +1 -1
- package/lib/commonjs/interceptors/XHRInterceptor.js +9 -6
- package/lib/commonjs/interceptors/XHRInterceptor.js.map +1 -1
- package/lib/commonjs/theme/colors.js +6 -1
- package/lib/commonjs/theme/colors.js.map +1 -1
- package/lib/commonjs/ui/Xenon.js +47 -40
- package/lib/commonjs/ui/Xenon.js.map +1 -1
- package/lib/commonjs/ui/components/bubble/Bubble.js +37 -28
- package/lib/commonjs/ui/components/bubble/Bubble.js.map +1 -1
- package/lib/commonjs/ui/components/common/Divider.js +21 -0
- package/lib/commonjs/ui/components/common/Divider.js.map +1 -0
- package/lib/commonjs/ui/components/common/Icon.js +25 -0
- package/lib/commonjs/ui/components/common/Icon.js.map +1 -0
- package/lib/commonjs/ui/components/common/IndexedStack.js +46 -0
- package/lib/commonjs/ui/components/common/IndexedStack.js.map +1 -0
- package/lib/commonjs/ui/components/common/Touchable.js +22 -0
- package/lib/commonjs/ui/components/common/Touchable.js.map +1 -0
- package/lib/commonjs/ui/components/details/LogMessageDetails.js +24 -11
- package/lib/commonjs/ui/components/details/LogMessageDetails.js.map +1 -1
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js +64 -39
- package/lib/commonjs/ui/components/details/NetworkRequestDetails.js.map +1 -1
- package/lib/commonjs/ui/components/headers/ConsoleHeader.js +30 -0
- package/lib/commonjs/ui/components/headers/ConsoleHeader.js.map +1 -0
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js +56 -177
- package/lib/commonjs/ui/components/headers/DebuggerHeader.js.map +1 -1
- package/lib/commonjs/ui/components/headers/Header.js +34 -0
- package/lib/commonjs/ui/components/headers/Header.js.map +1 -0
- package/lib/commonjs/ui/components/headers/HeaderComponents.js +111 -0
- package/lib/commonjs/ui/components/headers/HeaderComponents.js.map +1 -0
- package/lib/commonjs/ui/components/headers/NetworkHeader.js +97 -0
- package/lib/commonjs/ui/components/headers/NetworkHeader.js.map +1 -0
- package/lib/commonjs/ui/components/index.js +0 -7
- package/lib/commonjs/ui/components/index.js.map +1 -1
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js +8 -4
- package/lib/commonjs/ui/components/items/ConsolePanelItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js +5 -9
- package/lib/commonjs/ui/components/items/DebuggerHeaderItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js +54 -13
- package/lib/commonjs/ui/components/items/NetworkPanelItem.js.map +1 -1
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js +19 -18
- package/lib/commonjs/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
- package/lib/commonjs/ui/components/panels/ConsolePanel.js +19 -10
- package/lib/commonjs/ui/components/panels/ConsolePanel.js.map +1 -1
- package/lib/commonjs/ui/components/panels/NetworkPanel.js +18 -13
- package/lib/commonjs/ui/components/panels/NetworkPanel.js.map +1 -1
- package/lib/commonjs/ui/components/panels/Panel.js +25 -0
- package/lib/commonjs/ui/components/panels/Panel.js.map +1 -0
- package/lib/module/core/refs.js +33 -0
- package/lib/module/core/refs.js.map +1 -0
- package/lib/module/core/utils.js +40 -9
- package/lib/module/core/utils.js.map +1 -1
- package/lib/module/hooks/useNetworkInterceptor.js +14 -15
- package/lib/module/hooks/useNetworkInterceptor.js.map +1 -1
- package/lib/module/interceptors/FetchInterceptor.js +6 -9
- package/lib/module/interceptors/FetchInterceptor.js.map +1 -1
- package/lib/module/interceptors/WebSocketInterceptor.js +2 -9
- package/lib/module/interceptors/WebSocketInterceptor.js.map +1 -1
- package/lib/module/interceptors/XHRInterceptor.js +9 -6
- package/lib/module/interceptors/XHRInterceptor.js.map +1 -1
- package/lib/module/theme/colors.js +6 -1
- package/lib/module/theme/colors.js.map +1 -1
- package/lib/module/ui/Xenon.js +47 -40
- package/lib/module/ui/Xenon.js.map +1 -1
- package/lib/module/ui/components/bubble/Bubble.js +37 -28
- package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
- package/lib/module/ui/components/common/Divider.js +21 -0
- package/lib/module/ui/components/common/Divider.js.map +1 -0
- package/lib/module/ui/components/common/Icon.js +25 -0
- package/lib/module/ui/components/common/Icon.js.map +1 -0
- package/lib/module/ui/components/common/IndexedStack.js +46 -0
- package/lib/module/ui/components/common/IndexedStack.js.map +1 -0
- package/lib/module/ui/components/common/Touchable.js +22 -0
- package/lib/module/ui/components/common/Touchable.js.map +1 -0
- package/lib/module/ui/components/details/LogMessageDetails.js +24 -11
- package/lib/module/ui/components/details/LogMessageDetails.js.map +1 -1
- package/lib/module/ui/components/details/NetworkRequestDetails.js +64 -39
- package/lib/module/ui/components/details/NetworkRequestDetails.js.map +1 -1
- package/lib/module/ui/components/headers/ConsoleHeader.js +30 -0
- package/lib/module/ui/components/headers/ConsoleHeader.js.map +1 -0
- package/lib/module/ui/components/headers/DebuggerHeader.js +56 -177
- package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -1
- package/lib/module/ui/components/headers/Header.js +34 -0
- package/lib/module/ui/components/headers/Header.js.map +1 -0
- package/lib/module/ui/components/headers/HeaderComponents.js +111 -0
- package/lib/module/ui/components/headers/HeaderComponents.js.map +1 -0
- package/lib/module/ui/components/headers/NetworkHeader.js +97 -0
- package/lib/module/ui/components/headers/NetworkHeader.js.map +1 -0
- package/lib/module/ui/components/index.js +0 -7
- package/lib/module/ui/components/index.js.map +1 -1
- package/lib/module/ui/components/items/ConsolePanelItem.js +8 -4
- package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -1
- package/lib/module/ui/components/items/DebuggerHeaderItem.js +5 -9
- package/lib/module/ui/components/items/DebuggerHeaderItem.js.map +1 -1
- package/lib/module/ui/components/items/NetworkPanelItem.js +54 -13
- package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -1
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js +19 -18
- package/lib/module/ui/components/items/NetworkRequestDetailsItem.js.map +1 -1
- package/lib/module/ui/components/panels/ConsolePanel.js +19 -10
- package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
- package/lib/module/ui/components/panels/NetworkPanel.js +18 -13
- package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
- package/lib/module/ui/components/panels/Panel.js +25 -0
- package/lib/module/ui/components/panels/Panel.js.map +1 -0
- package/lib/typescript/commonjs/src/core/refs.d.ts +24 -0
- package/lib/typescript/commonjs/src/core/refs.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/core/utils.d.ts +13 -5
- package/lib/typescript/commonjs/src/core/utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/FetchInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts +0 -1
- package/lib/typescript/commonjs/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/interceptors/XHRInterceptor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/theme/colors.d.ts +5 -0
- package/lib/typescript/commonjs/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/common.d.ts +2 -3
- package/lib/typescript/commonjs/src/types/common.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/http.d.ts +5 -6
- package/lib/typescript/commonjs/src/types/http.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/websocket.d.ts +2 -2
- package/lib/typescript/commonjs/src/types/websocket.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts +5 -2
- package/lib/typescript/commonjs/src/ui/Xenon.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts +4 -5
- package/lib/typescript/commonjs/src/ui/components/bubble/Bubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/common/Divider.d.ts +4 -0
- package/lib/typescript/commonjs/src/ui/components/common/Divider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/Icon.d.ts +8 -0
- package/lib/typescript/commonjs/src/ui/components/common/Icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/IndexedStack.d.ts +13 -0
- package/lib/typescript/commonjs/src/ui/components/common/IndexedStack.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts +10 -0
- package/lib/typescript/commonjs/src/ui/components/common/Touchable.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts +5 -6
- package/lib/typescript/commonjs/src/ui/components/details/LogMessageDetails.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts +5 -6
- package/lib/typescript/commonjs/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/headers/ConsoleHeader.d.ts +9 -0
- package/lib/typescript/commonjs/src/ui/components/headers/ConsoleHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts +9 -1
- package/lib/typescript/commonjs/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/headers/Header.d.ts +3 -0
- package/lib/typescript/commonjs/src/ui/components/headers/Header.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/HeaderComponents.d.ts +20 -0
- package/lib/typescript/commonjs/src/ui/components/headers/HeaderComponents.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkHeader.d.ts +9 -0
- package/lib/typescript/commonjs/src/ui/components/headers/NetworkHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ui/components/index.d.ts +0 -1
- package/lib/typescript/commonjs/src/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts +3 -2
- package/lib/typescript/commonjs/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts +4 -5
- package/lib/typescript/commonjs/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts +5 -1
- package/lib/typescript/commonjs/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts +5 -1
- package/lib/typescript/commonjs/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/ui/components/panels/Panel.d.ts +2 -0
- package/lib/typescript/commonjs/src/ui/components/panels/Panel.d.ts.map +1 -0
- package/lib/typescript/module/src/core/refs.d.ts +24 -0
- package/lib/typescript/module/src/core/refs.d.ts.map +1 -0
- package/lib/typescript/module/src/core/utils.d.ts +13 -5
- package/lib/typescript/module/src/core/utils.d.ts.map +1 -1
- package/lib/typescript/module/src/hooks/useNetworkInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/FetchInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts +0 -1
- package/lib/typescript/module/src/interceptors/WebSocketInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/interceptors/XHRInterceptor.d.ts.map +1 -1
- package/lib/typescript/module/src/theme/colors.d.ts +5 -0
- package/lib/typescript/module/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/module/src/types/common.d.ts +2 -3
- package/lib/typescript/module/src/types/common.d.ts.map +1 -1
- package/lib/typescript/module/src/types/http.d.ts +5 -6
- package/lib/typescript/module/src/types/http.d.ts.map +1 -1
- package/lib/typescript/module/src/types/websocket.d.ts +2 -2
- package/lib/typescript/module/src/types/websocket.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/Xenon.d.ts +5 -2
- package/lib/typescript/module/src/ui/Xenon.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts +4 -5
- package/lib/typescript/module/src/ui/components/bubble/Bubble.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/common/Divider.d.ts +4 -0
- package/lib/typescript/module/src/ui/components/common/Divider.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/Icon.d.ts +8 -0
- package/lib/typescript/module/src/ui/components/common/Icon.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts +13 -0
- package/lib/typescript/module/src/ui/components/common/IndexedStack.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/common/Touchable.d.ts +10 -0
- package/lib/typescript/module/src/ui/components/common/Touchable.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts +5 -6
- package/lib/typescript/module/src/ui/components/details/LogMessageDetails.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts +5 -6
- package/lib/typescript/module/src/ui/components/details/NetworkRequestDetails.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts +9 -0
- package/lib/typescript/module/src/ui/components/headers/ConsoleHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts +9 -1
- package/lib/typescript/module/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/headers/Header.d.ts +3 -0
- package/lib/typescript/module/src/ui/components/headers/Header.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts +20 -0
- package/lib/typescript/module/src/ui/components/headers/HeaderComponents.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts +9 -0
- package/lib/typescript/module/src/ui/components/headers/NetworkHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/ui/components/index.d.ts +0 -1
- package/lib/typescript/module/src/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/DebuggerHeaderItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts +3 -2
- package/lib/typescript/module/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts +4 -5
- package/lib/typescript/module/src/ui/components/items/NetworkRequestDetailsItem.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts +5 -1
- package/lib/typescript/module/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts +5 -1
- package/lib/typescript/module/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
- package/lib/typescript/module/src/ui/components/panels/Panel.d.ts +2 -0
- package/lib/typescript/module/src/ui/components/panels/Panel.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/core/refs.ts +29 -0
- package/src/core/utils.ts +45 -14
- package/src/hooks/useNetworkInterceptor.ts +20 -27
- package/src/interceptors/FetchInterceptor.ts +7 -20
- package/src/interceptors/WebSocketInterceptor.ts +2 -11
- package/src/interceptors/XHRInterceptor.ts +13 -8
- package/src/theme/colors.ts +5 -0
- package/src/types/common.ts +2 -3
- package/src/types/http.ts +5 -6
- package/src/types/websocket.ts +2 -1
- package/src/ui/Xenon.tsx +45 -46
- package/src/ui/components/bubble/Bubble.tsx +101 -97
- package/src/ui/components/common/Divider.tsx +13 -0
- package/src/ui/components/common/Icon.tsx +12 -0
- package/src/ui/components/common/IndexedStack.tsx +62 -0
- package/src/ui/components/common/Touchable.tsx +21 -0
- package/src/ui/components/details/LogMessageDetails.tsx +31 -16
- package/src/ui/components/details/NetworkRequestDetails.tsx +143 -124
- package/src/ui/components/headers/ConsoleHeader.tsx +25 -0
- package/src/ui/components/headers/DebuggerHeader.tsx +28 -195
- package/src/ui/components/headers/Header.tsx +22 -0
- package/src/ui/components/headers/HeaderComponents.tsx +100 -0
- package/src/ui/components/headers/NetworkHeader.tsx +85 -0
- package/src/ui/components/index.ts +0 -1
- package/src/ui/components/items/ConsolePanelItem.tsx +11 -6
- package/src/ui/components/items/DebuggerHeaderItem.tsx +6 -10
- package/src/ui/components/items/NetworkPanelItem.tsx +64 -15
- package/src/ui/components/items/NetworkRequestDetailsItem.tsx +26 -21
- package/src/ui/components/panels/ConsolePanel.tsx +23 -10
- package/src/ui/components/panels/NetworkPanel.tsx +21 -14
- package/src/ui/components/panels/Panel.tsx +17 -0
- package/lib/commonjs/ui/components/details/DetailsViewer.js +0 -32
- package/lib/commonjs/ui/components/details/DetailsViewer.js.map +0 -1
- package/lib/module/ui/components/details/DetailsViewer.js +0 -32
- package/lib/module/ui/components/details/DetailsViewer.js.map +0 -1
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts +0 -2
- package/lib/typescript/commonjs/src/ui/components/details/DetailsViewer.d.ts.map +0 -1
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts +0 -2
- package/lib/typescript/module/src/ui/components/details/DetailsViewer.d.ts.map +0 -1
- package/src/ui/components/details/DetailsViewer.tsx +0 -19
@@ -0,0 +1,100 @@
|
|
1
|
+
import { forwardRef, useContext, type PropsWithChildren } from 'react';
|
2
|
+
import { ScrollView, StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
|
3
|
+
import { MainContext } from '../../../contexts';
|
4
|
+
import refs, { DebuggerVisibility, HeaderState, PanelState } from '../../../core/refs';
|
5
|
+
import colors from '../../../theme/colors';
|
6
|
+
import icons from '../../../theme/icons';
|
7
|
+
import type { DetailTab } from '../../../types';
|
8
|
+
import DebuggerHeaderItem from '../items/DebuggerHeaderItem';
|
9
|
+
|
10
|
+
const Back = ({ selectedPanel }: { selectedPanel: PanelState }) => {
|
11
|
+
const { setDebuggerState } = useContext(MainContext)!;
|
12
|
+
|
13
|
+
return (
|
14
|
+
<DebuggerHeaderItem
|
15
|
+
content={icons.arrowLeft}
|
16
|
+
onPress={() => {
|
17
|
+
refs.header.current?.setCurrentIndex(HeaderState.Debugger);
|
18
|
+
refs.panel.current?.setCurrentIndex(selectedPanel);
|
19
|
+
setDebuggerState(draft => {
|
20
|
+
draft.detailsData = null;
|
21
|
+
});
|
22
|
+
}}
|
23
|
+
/>
|
24
|
+
);
|
25
|
+
};
|
26
|
+
|
27
|
+
const TabItem = ({ tab, label }: { tab: DetailTab; label: string }) => {
|
28
|
+
const {
|
29
|
+
debuggerState: { detailsData },
|
30
|
+
setDebuggerState,
|
31
|
+
} = useContext(MainContext)!;
|
32
|
+
|
33
|
+
return (
|
34
|
+
<DebuggerHeaderItem
|
35
|
+
isLabel
|
36
|
+
isActive={detailsData?.selectedTab === tab}
|
37
|
+
content={label}
|
38
|
+
onPress={() => {
|
39
|
+
setDebuggerState(draft => {
|
40
|
+
draft.detailsData!.selectedTab = tab;
|
41
|
+
});
|
42
|
+
}}
|
43
|
+
/>
|
44
|
+
);
|
45
|
+
};
|
46
|
+
|
47
|
+
const MainButtons = () => {
|
48
|
+
const { setDebuggerState } = useContext(MainContext)!;
|
49
|
+
|
50
|
+
const onHide = () => {
|
51
|
+
refs.debugger.current?.setCurrentIndex(DebuggerVisibility.Bubble);
|
52
|
+
};
|
53
|
+
|
54
|
+
const onMove = () => {
|
55
|
+
setDebuggerState(draft => {
|
56
|
+
draft.position = draft.position === 'bottom' ? 'top' : 'bottom';
|
57
|
+
});
|
58
|
+
};
|
59
|
+
|
60
|
+
return (
|
61
|
+
<>
|
62
|
+
<DebuggerHeaderItem onPress={onHide} content={icons.hide} />
|
63
|
+
<DebuggerHeaderItem onPress={onMove} content={icons.move} />
|
64
|
+
</>
|
65
|
+
);
|
66
|
+
};
|
67
|
+
|
68
|
+
const Wrapper = forwardRef<ScrollView, PropsWithChildren<{ style?: StyleProp<ViewStyle> }>>(
|
69
|
+
({ children, style }, ref) => {
|
70
|
+
return (
|
71
|
+
<ScrollView
|
72
|
+
ref={ref}
|
73
|
+
horizontal
|
74
|
+
style={[styles.container, style]}
|
75
|
+
contentContainerStyle={styles.contentContainer}
|
76
|
+
showsHorizontalScrollIndicator={false}
|
77
|
+
>
|
78
|
+
{children}
|
79
|
+
</ScrollView>
|
80
|
+
);
|
81
|
+
},
|
82
|
+
);
|
83
|
+
|
84
|
+
const styles = StyleSheet.create({
|
85
|
+
container: {
|
86
|
+
flexGrow: 0,
|
87
|
+
borderTopColor: colors.gray,
|
88
|
+
borderTopWidth: StyleSheet.hairlineWidth,
|
89
|
+
borderBottomColor: colors.gray,
|
90
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
91
|
+
},
|
92
|
+
contentContainer: {
|
93
|
+
padding: 8,
|
94
|
+
columnGap: 8,
|
95
|
+
},
|
96
|
+
});
|
97
|
+
|
98
|
+
const HeaderComponents = { Back, TabItem, MainButtons, Wrapper };
|
99
|
+
|
100
|
+
export default HeaderComponents;
|
@@ -0,0 +1,85 @@
|
|
1
|
+
import { forwardRef, useContext } from 'react';
|
2
|
+
import { Share, type ScrollView, type StyleProp, type ViewStyle } from 'react-native';
|
3
|
+
import { MainContext } from '../../../contexts';
|
4
|
+
import refs, { DebuggerVisibility, type PanelState } from '../../../core/refs';
|
5
|
+
import { convertToCurl, getNetworkUtils } from '../../../core/utils';
|
6
|
+
import colors from '../../../theme/colors';
|
7
|
+
import icons from '../../../theme/icons';
|
8
|
+
import { NetworkType, type HttpRequest, type WebSocketRequest } from '../../../types';
|
9
|
+
import Divider from '../common/Divider';
|
10
|
+
import DebuggerHeaderItem from '../items/DebuggerHeaderItem';
|
11
|
+
import HeaderComponents from './HeaderComponents';
|
12
|
+
|
13
|
+
interface NetworkHeaderProps {
|
14
|
+
selectedPanel: PanelState;
|
15
|
+
style?: StyleProp<ViewStyle>;
|
16
|
+
}
|
17
|
+
|
18
|
+
let isSharing = false;
|
19
|
+
|
20
|
+
const NetworkHeader = forwardRef<ScrollView, NetworkHeaderProps>(
|
21
|
+
({ selectedPanel, style }, ref) => {
|
22
|
+
const {
|
23
|
+
debuggerState: { detailsData },
|
24
|
+
setDebuggerState,
|
25
|
+
} = useContext(MainContext)!;
|
26
|
+
|
27
|
+
const data = detailsData?.data as HttpRequest | WebSocketRequest | undefined;
|
28
|
+
|
29
|
+
const { isHttp, overviewShown, headersShown, requestShown, responseShown, messagesShown } =
|
30
|
+
getNetworkUtils(data);
|
31
|
+
|
32
|
+
return (
|
33
|
+
<HeaderComponents.Wrapper ref={ref} style={style}>
|
34
|
+
<HeaderComponents.Back selectedPanel={selectedPanel} />
|
35
|
+
<HeaderComponents.MainButtons />
|
36
|
+
|
37
|
+
<Divider type="vertical" />
|
38
|
+
|
39
|
+
{overviewShown && <HeaderComponents.TabItem tab="overview" label="Overview" />}
|
40
|
+
{headersShown && <HeaderComponents.TabItem tab="headers" label="Headers" />}
|
41
|
+
{requestShown && <HeaderComponents.TabItem tab="request" label="Request" />}
|
42
|
+
{responseShown && <HeaderComponents.TabItem tab="response" label="Response" />}
|
43
|
+
{messagesShown && <HeaderComponents.TabItem tab="messages" label="Messages" />}
|
44
|
+
|
45
|
+
{isHttp && (
|
46
|
+
<>
|
47
|
+
<Divider type="vertical" />
|
48
|
+
|
49
|
+
<DebuggerHeaderItem
|
50
|
+
content={icons.beautify}
|
51
|
+
isActive={detailsData?.beautified}
|
52
|
+
activeColor={colors.green}
|
53
|
+
onPress={() => {
|
54
|
+
setDebuggerState(draft => {
|
55
|
+
draft.detailsData!.beautified = !draft.detailsData?.beautified;
|
56
|
+
});
|
57
|
+
}}
|
58
|
+
/>
|
59
|
+
<DebuggerHeaderItem
|
60
|
+
content={icons.share}
|
61
|
+
onPress={async () => {
|
62
|
+
if (isSharing || !data || data.type === NetworkType.WS) return;
|
63
|
+
|
64
|
+
try {
|
65
|
+
isSharing = true;
|
66
|
+
refs.debugger.current?.setCurrentIndex(DebuggerVisibility.Bubble);
|
67
|
+
|
68
|
+
await Share.share({
|
69
|
+
message: convertToCurl(data.method, data.url, data.requestHeaders, data.body),
|
70
|
+
});
|
71
|
+
} catch (error) {
|
72
|
+
// Handle error
|
73
|
+
} finally {
|
74
|
+
isSharing = false;
|
75
|
+
}
|
76
|
+
}}
|
77
|
+
/>
|
78
|
+
</>
|
79
|
+
)}
|
80
|
+
</HeaderComponents.Wrapper>
|
81
|
+
);
|
82
|
+
},
|
83
|
+
);
|
84
|
+
|
85
|
+
export default NetworkHeader;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
export { default as Bubble } from './bubble/Bubble';
|
2
|
-
export { default as DetailsViewer } from './details/DetailsViewer';
|
3
2
|
export { default as DebuggerHeader } from './headers/DebuggerHeader';
|
4
3
|
export { default as ConsolePanel } from './panels/ConsolePanel';
|
5
4
|
export { default as NetworkPanel } from './panels/NetworkPanel';
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import { StyleSheet, Text
|
2
|
-
import
|
3
|
-
import { formatLogMessage } from '../../../core/utils';
|
1
|
+
import { StyleSheet, Text } from 'react-native';
|
2
|
+
import { formatLogMessage, getConsoleTypeColor } from '../../../core/utils';
|
4
3
|
import colors from '../../../theme/colors';
|
4
|
+
import type { LogMessage } from '../../../types';
|
5
|
+
import Touchable from '../common/Touchable';
|
5
6
|
|
6
7
|
interface ConsolePanelItemProps extends LogMessage {
|
7
8
|
onPress: () => void;
|
@@ -9,11 +10,14 @@ interface ConsolePanelItemProps extends LogMessage {
|
|
9
10
|
|
10
11
|
export default function ConsolePanelItem({ type, values, onPress }: ConsolePanelItemProps) {
|
11
12
|
return (
|
12
|
-
<
|
13
|
+
<Touchable
|
14
|
+
onPress={onPress}
|
15
|
+
style={[styles.container, { backgroundColor: getConsoleTypeColor(type) }]}
|
16
|
+
>
|
13
17
|
<Text numberOfLines={1} style={styles.text}>
|
14
|
-
{formatLogMessage(
|
18
|
+
{formatLogMessage(values)}
|
15
19
|
</Text>
|
16
|
-
</
|
20
|
+
</Touchable>
|
17
21
|
);
|
18
22
|
}
|
19
23
|
|
@@ -21,6 +25,7 @@ const styles = StyleSheet.create({
|
|
21
25
|
container: {
|
22
26
|
flex: 1,
|
23
27
|
padding: 8,
|
28
|
+
borderRadius: 8,
|
24
29
|
},
|
25
30
|
text: {
|
26
31
|
color: colors.black,
|
@@ -1,5 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import { StyleSheet, Text, type ImageRequireSource } from 'react-native';
|
2
2
|
import colors from '../../../theme/colors';
|
3
|
+
import Icon from '../common/Icon';
|
4
|
+
import Touchable from '../common/Touchable';
|
3
5
|
|
4
6
|
interface DebuggerHeaderItemProps {
|
5
7
|
content?: ImageRequireSource | string;
|
@@ -17,9 +19,8 @@ export default function DebuggerHeaderItem({
|
|
17
19
|
onPress,
|
18
20
|
}: DebuggerHeaderItemProps) {
|
19
21
|
return (
|
20
|
-
<
|
22
|
+
<Touchable
|
21
23
|
onPress={onPress}
|
22
|
-
activeOpacity={0.8}
|
23
24
|
style={[
|
24
25
|
styles.container,
|
25
26
|
isLabel
|
@@ -34,9 +35,9 @@ export default function DebuggerHeaderItem({
|
|
34
35
|
{typeof content === 'string' ? (
|
35
36
|
<Text style={styles.title}>{content}</Text>
|
36
37
|
) : (
|
37
|
-
<
|
38
|
+
<Icon source={content} size={18} />
|
38
39
|
)}
|
39
|
-
</
|
40
|
+
</Touchable>
|
40
41
|
);
|
41
42
|
}
|
42
43
|
|
@@ -65,9 +66,4 @@ const styles = StyleSheet.create({
|
|
65
66
|
fontWeight: '600',
|
66
67
|
color: colors.black,
|
67
68
|
},
|
68
|
-
icon: {
|
69
|
-
width: 18,
|
70
|
-
height: 18,
|
71
|
-
tintColor: colors.black,
|
72
|
-
},
|
73
69
|
});
|
@@ -1,29 +1,58 @@
|
|
1
1
|
import { useMemo } from 'react';
|
2
|
-
import { StyleSheet, Text,
|
2
|
+
import { StyleSheet, Text, View } from 'react-native';
|
3
3
|
import { URL } from 'react-native-url-polyfill';
|
4
|
-
import type { HttpRequest, NetworkRequest } from '../../../types';
|
5
4
|
import {
|
6
5
|
formatRequestDuration,
|
7
6
|
formatRequestMethod,
|
8
7
|
formatRequestStatusCode,
|
9
8
|
} from '../../../core/utils';
|
10
9
|
import colors from '../../../theme/colors';
|
10
|
+
import type { HttpRequest, NetworkRequest } from '../../../types';
|
11
|
+
import Touchable from '../common/Touchable';
|
11
12
|
|
12
13
|
interface NetworkPanelItemProps {
|
13
14
|
method?: HttpRequest['method'];
|
14
15
|
name: NetworkRequest['url'];
|
15
|
-
|
16
|
+
startTime?: NetworkRequest['startTime'];
|
17
|
+
endTime?: NetworkRequest['endTime'];
|
16
18
|
status?: NetworkRequest['status'];
|
17
19
|
onPress: () => void;
|
18
20
|
}
|
19
21
|
|
22
|
+
const getMethodColor = (method: string) => {
|
23
|
+
switch (method) {
|
24
|
+
case 'GET':
|
25
|
+
return colors.blue;
|
26
|
+
case 'POST':
|
27
|
+
return colors.green;
|
28
|
+
case 'PUT':
|
29
|
+
return colors.yellow;
|
30
|
+
case 'PATCH':
|
31
|
+
return colors.cyan;
|
32
|
+
case 'DELETE':
|
33
|
+
return colors.red;
|
34
|
+
case 'OPTIONS':
|
35
|
+
case 'HEAD':
|
36
|
+
return colors.purple;
|
37
|
+
default:
|
38
|
+
return colors.black;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
|
20
42
|
export default function NetworkPanelItem({
|
21
43
|
method,
|
22
44
|
name,
|
23
|
-
|
45
|
+
startTime,
|
46
|
+
endTime,
|
24
47
|
status,
|
25
48
|
onPress,
|
26
49
|
}: NetworkPanelItemProps) {
|
50
|
+
const duration = formatRequestDuration(startTime, endTime);
|
51
|
+
const requestMethod = formatRequestMethod(method);
|
52
|
+
const requestStatusCode = formatRequestStatusCode(status);
|
53
|
+
const isRequestFailed = Number.isInteger(status) && status! >= 400 && status! < 600;
|
54
|
+
const textStyle = [styles.text, isRequestFailed && styles.failedText];
|
55
|
+
|
27
56
|
const requestPath = useMemo(() => {
|
28
57
|
if (!name) return '[failed]';
|
29
58
|
|
@@ -39,31 +68,38 @@ export default function NetworkPanelItem({
|
|
39
68
|
}, [name]);
|
40
69
|
|
41
70
|
return (
|
42
|
-
<
|
71
|
+
<Touchable onPress={onPress} style={styles.container}>
|
43
72
|
<View style={styles.column}>
|
44
|
-
<Text
|
45
|
-
{
|
73
|
+
<Text
|
74
|
+
numberOfLines={1}
|
75
|
+
style={[
|
76
|
+
styles.text,
|
77
|
+
styles.methodText,
|
78
|
+
{ backgroundColor: getMethodColor(requestMethod) },
|
79
|
+
]}
|
80
|
+
>
|
81
|
+
{requestMethod}
|
46
82
|
</Text>
|
47
83
|
</View>
|
48
84
|
|
49
85
|
<View style={[styles.column, styles.pathColumn]}>
|
50
|
-
<Text numberOfLines={1} style={
|
86
|
+
<Text numberOfLines={1} style={textStyle}>
|
51
87
|
{requestPath}
|
52
88
|
</Text>
|
53
89
|
</View>
|
54
90
|
|
55
91
|
<View style={[styles.column, styles.durationColumn]}>
|
56
|
-
<Text numberOfLines={1} style={
|
57
|
-
{
|
92
|
+
<Text numberOfLines={1} style={textStyle}>
|
93
|
+
{duration}
|
58
94
|
</Text>
|
59
95
|
</View>
|
60
96
|
|
61
97
|
<View style={styles.column}>
|
62
|
-
<Text numberOfLines={1} style={
|
63
|
-
{
|
98
|
+
<Text numberOfLines={1} style={textStyle}>
|
99
|
+
{requestStatusCode}
|
64
100
|
</Text>
|
65
101
|
</View>
|
66
|
-
</
|
102
|
+
</Touchable>
|
67
103
|
);
|
68
104
|
}
|
69
105
|
|
@@ -71,6 +107,9 @@ const styles = StyleSheet.create({
|
|
71
107
|
container: {
|
72
108
|
flex: 1,
|
73
109
|
flexDirection: 'row',
|
110
|
+
alignItems: 'center',
|
111
|
+
paddingVertical: 8,
|
112
|
+
columnGap: 8,
|
74
113
|
},
|
75
114
|
pathColumn: {
|
76
115
|
flex: 5,
|
@@ -81,11 +120,21 @@ const styles = StyleSheet.create({
|
|
81
120
|
column: {
|
82
121
|
flex: 1.5,
|
83
122
|
flexShrink: 1,
|
84
|
-
|
85
|
-
|
123
|
+
},
|
124
|
+
failedText: {
|
125
|
+
color: colors.red,
|
86
126
|
},
|
87
127
|
text: {
|
88
128
|
color: colors.black,
|
89
129
|
fontSize: 14,
|
90
130
|
},
|
131
|
+
methodText: {
|
132
|
+
borderRadius: 4,
|
133
|
+
color: colors.lightGray,
|
134
|
+
paddingVertical: 4,
|
135
|
+
paddingHorizontal: 2,
|
136
|
+
textAlign: 'center',
|
137
|
+
fontSize: 12,
|
138
|
+
fontWeight: '600',
|
139
|
+
},
|
91
140
|
});
|
@@ -1,32 +1,32 @@
|
|
1
|
-
import { StyleSheet, Text
|
1
|
+
import { StyleSheet, Text } from 'react-native';
|
2
2
|
import colors from '../../../theme/colors';
|
3
3
|
|
4
|
-
interface NetworkRequestDetailsItemProps
|
5
|
-
label
|
6
|
-
content
|
4
|
+
interface NetworkRequestDetailsItemProps {
|
5
|
+
label: string;
|
6
|
+
content: string | [string, string][];
|
7
7
|
}
|
8
8
|
|
9
9
|
export default function NetworkRequestDetailsItem({
|
10
10
|
label,
|
11
11
|
content,
|
12
|
-
style,
|
13
|
-
...props
|
14
12
|
}: NetworkRequestDetailsItemProps) {
|
15
|
-
if (label) {
|
16
|
-
return (
|
17
|
-
<Text {...props} style={[styles.text, style]}>
|
18
|
-
<Text style={styles.label}>
|
19
|
-
{label}
|
20
|
-
{': '}
|
21
|
-
</Text>
|
22
|
-
{content}
|
23
|
-
</Text>
|
24
|
-
);
|
25
|
-
}
|
26
|
-
|
27
13
|
return (
|
28
|
-
<Text
|
29
|
-
{
|
14
|
+
<Text style={styles.text}>
|
15
|
+
<Text style={styles.label}>
|
16
|
+
{label}
|
17
|
+
{'\n'}
|
18
|
+
</Text>
|
19
|
+
{typeof content === 'string'
|
20
|
+
? content
|
21
|
+
: content.map(([key, value]) => (
|
22
|
+
<Text key={key} style={[styles.label, styles.subLabel]}>
|
23
|
+
{key}
|
24
|
+
{': '}
|
25
|
+
<Text style={styles.text}>{value}</Text>
|
26
|
+
{'\n'}
|
27
|
+
</Text>
|
28
|
+
))}
|
29
|
+
{Array.isArray(content) || content?.endsWith('\n') ? '' : '\n'}
|
30
30
|
</Text>
|
31
31
|
);
|
32
32
|
}
|
@@ -34,11 +34,16 @@ export default function NetworkRequestDetailsItem({
|
|
34
34
|
const styles = StyleSheet.create({
|
35
35
|
text: {
|
36
36
|
fontSize: 14,
|
37
|
+
fontWeight: 'normal',
|
37
38
|
color: colors.black,
|
38
39
|
},
|
39
40
|
label: {
|
40
|
-
fontSize:
|
41
|
+
fontSize: 16,
|
41
42
|
fontWeight: 'bold',
|
42
43
|
color: colors.black,
|
43
44
|
},
|
45
|
+
subLabel: {
|
46
|
+
fontSize: 14,
|
47
|
+
fontWeight: 'bold',
|
48
|
+
},
|
44
49
|
});
|
@@ -1,13 +1,20 @@
|
|
1
|
-
import { useCallback, useContext } from 'react';
|
2
|
-
import {
|
3
|
-
|
1
|
+
import { forwardRef, useCallback, useContext } from 'react';
|
2
|
+
import {
|
3
|
+
FlatList,
|
4
|
+
StyleSheet,
|
5
|
+
View,
|
6
|
+
type ListRenderItem,
|
7
|
+
type StyleProp,
|
8
|
+
type ViewStyle,
|
9
|
+
} from 'react-native';
|
4
10
|
import { MainContext } from '../../../contexts';
|
5
11
|
import { DebuggerPanel, type LogMessage } from '../../../types';
|
6
12
|
import ConsolePanelItem from '../items/ConsolePanelItem';
|
13
|
+
import refs, { HeaderState, PanelState } from '../../../core/refs';
|
7
14
|
|
8
15
|
const Separator = () => <View style={styles.divider} />;
|
9
16
|
|
10
|
-
|
17
|
+
const ConsolePanel = forwardRef<FlatList, { style?: StyleProp<ViewStyle> }>(({ style }, ref) => {
|
11
18
|
const {
|
12
19
|
consoleInterceptor: { logMessages },
|
13
20
|
setDebuggerState,
|
@@ -18,8 +25,9 @@ export default function ConsolePanel() {
|
|
18
25
|
<ConsolePanelItem
|
19
26
|
{...item}
|
20
27
|
onPress={() => {
|
28
|
+
refs.header.current?.setCurrentIndex(HeaderState.Console);
|
29
|
+
refs.panel.current?.setCurrentIndex(PanelState.ConsoleDetail);
|
21
30
|
setDebuggerState(draft => {
|
22
|
-
draft.selectedPanel = null;
|
23
31
|
draft.detailsData = {
|
24
32
|
type: DebuggerPanel.Console,
|
25
33
|
data: item,
|
@@ -35,23 +43,28 @@ export default function ConsolePanel() {
|
|
35
43
|
|
36
44
|
return (
|
37
45
|
<FlatList
|
46
|
+
ref={ref}
|
38
47
|
inverted
|
39
48
|
data={[...logMessages].reverse()}
|
40
49
|
renderItem={renderItem}
|
41
50
|
keyExtractor={(_, index) => index.toString()}
|
42
51
|
ItemSeparatorComponent={Separator}
|
43
|
-
style={styles.container}
|
52
|
+
style={[styles.container, style]}
|
53
|
+
contentContainerStyle={styles.contentContainer}
|
44
54
|
/>
|
45
55
|
);
|
46
|
-
}
|
56
|
+
});
|
47
57
|
|
48
58
|
const styles = StyleSheet.create({
|
49
59
|
container: {
|
50
60
|
flex: 1,
|
51
|
-
|
61
|
+
},
|
62
|
+
contentContainer: {
|
63
|
+
padding: 8,
|
52
64
|
},
|
53
65
|
divider: {
|
54
|
-
height:
|
55
|
-
backgroundColor: colors.gray,
|
66
|
+
height: 4,
|
56
67
|
},
|
57
68
|
});
|
69
|
+
|
70
|
+
export default ConsolePanel;
|
@@ -1,7 +1,13 @@
|
|
1
|
-
import { useCallback, useContext, useMemo } from 'react';
|
2
|
-
import {
|
3
|
-
|
1
|
+
import { forwardRef, useCallback, useContext, useMemo } from 'react';
|
2
|
+
import {
|
3
|
+
FlatList,
|
4
|
+
StyleSheet,
|
5
|
+
type ListRenderItem,
|
6
|
+
type StyleProp,
|
7
|
+
type ViewStyle,
|
8
|
+
} from 'react-native';
|
4
9
|
import { MainContext } from '../../../contexts';
|
10
|
+
import refs, { HeaderState, PanelState } from '../../../core/refs';
|
5
11
|
import {
|
6
12
|
DebuggerPanel,
|
7
13
|
NetworkType,
|
@@ -9,16 +15,16 @@ import {
|
|
9
15
|
type ID,
|
10
16
|
type WebSocketRequest,
|
11
17
|
} from '../../../types';
|
18
|
+
import Divider from '../common/Divider';
|
12
19
|
import NetworkPanelItem from '../items/NetworkPanelItem';
|
13
20
|
|
14
|
-
const Separator = () => <
|
21
|
+
const Separator = () => <Divider type="horizontal" />;
|
15
22
|
|
16
|
-
|
23
|
+
const NetworkPanel = forwardRef<FlatList, { style?: StyleProp<ViewStyle> }>(({ style }, ref) => {
|
17
24
|
const {
|
18
25
|
networkInterceptor: { networkRequests },
|
19
26
|
setDebuggerState,
|
20
27
|
} = useContext(MainContext)!;
|
21
|
-
|
22
28
|
const data = useMemo(() => Array.from(networkRequests).reverse(), [networkRequests]);
|
23
29
|
|
24
30
|
const renderItem = useCallback<ListRenderItem<[NonNullable<ID>, HttpRequest | WebSocketRequest]>>(
|
@@ -26,11 +32,13 @@ export default function NetworkPanel() {
|
|
26
32
|
<NetworkPanelItem
|
27
33
|
method={item.type === NetworkType.WS ? undefined : item.method}
|
28
34
|
name={item.url}
|
29
|
-
|
35
|
+
startTime={item.startTime}
|
36
|
+
endTime={item.endTime}
|
30
37
|
status={item.status}
|
31
38
|
onPress={() => {
|
39
|
+
refs.header.current?.setCurrentIndex(HeaderState.Network);
|
40
|
+
refs.panel.current?.setCurrentIndex(PanelState.NetworkDetail);
|
32
41
|
setDebuggerState(draft => {
|
33
|
-
draft.selectedPanel = null;
|
34
42
|
draft.detailsData = {
|
35
43
|
type: DebuggerPanel.Network,
|
36
44
|
data: item,
|
@@ -48,21 +56,20 @@ export default function NetworkPanel() {
|
|
48
56
|
<FlatList
|
49
57
|
inverted
|
50
58
|
data={data}
|
59
|
+
ref={ref}
|
51
60
|
renderItem={renderItem}
|
52
61
|
keyExtractor={([key]) => key}
|
53
62
|
ItemSeparatorComponent={Separator}
|
54
|
-
style={styles.container}
|
63
|
+
style={[styles.container, style]}
|
55
64
|
/>
|
56
65
|
);
|
57
|
-
}
|
66
|
+
});
|
58
67
|
|
59
68
|
const styles = StyleSheet.create({
|
60
69
|
container: {
|
61
70
|
flex: 1,
|
62
71
|
paddingHorizontal: 8,
|
63
72
|
},
|
64
|
-
divider: {
|
65
|
-
height: StyleSheet.hairlineWidth,
|
66
|
-
backgroundColor: colors.gray,
|
67
|
-
},
|
68
73
|
});
|
74
|
+
|
75
|
+
export default NetworkPanel;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import refs, { PanelState } from '../../../core/refs';
|
2
|
+
import IndexedStack from '../common/IndexedStack';
|
3
|
+
import LogMessageDetails from '../details/LogMessageDetails';
|
4
|
+
import NetworkRequestDetails from '../details/NetworkRequestDetails';
|
5
|
+
import ConsolePanel from './ConsolePanel';
|
6
|
+
import NetworkPanel from './NetworkPanel';
|
7
|
+
|
8
|
+
export default function Panel() {
|
9
|
+
return (
|
10
|
+
<IndexedStack defaultIndex={PanelState.Network} id="debugger-panel" ref={refs.panel}>
|
11
|
+
<NetworkPanel />
|
12
|
+
<ConsolePanel />
|
13
|
+
<NetworkRequestDetails />
|
14
|
+
<LogMessageDetails />
|
15
|
+
</IndexedStack>
|
16
|
+
);
|
17
|
+
}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = DetailsViewer;
|
7
|
-
var _react = require("react");
|
8
|
-
var _contexts = require("../../../contexts");
|
9
|
-
var _types = require("../../../types");
|
10
|
-
var _LogMessageDetails = _interopRequireDefault(require("./LogMessageDetails"));
|
11
|
-
var _NetworkRequestDetails = _interopRequireDefault(require("./NetworkRequestDetails"));
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
|
-
function DetailsViewer() {
|
15
|
-
const {
|
16
|
-
debuggerState
|
17
|
-
} = (0, _react.useContext)(_contexts.MainContext);
|
18
|
-
const detailsData = debuggerState.detailsData;
|
19
|
-
switch (detailsData?.type) {
|
20
|
-
case _types.DebuggerPanel.Network:
|
21
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkRequestDetails.default, {
|
22
|
-
item: detailsData.data
|
23
|
-
});
|
24
|
-
case _types.DebuggerPanel.Console:
|
25
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LogMessageDetails.default, {
|
26
|
-
item: detailsData.data
|
27
|
-
});
|
28
|
-
default:
|
29
|
-
return null;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
//# sourceMappingURL=DetailsViewer.js.map
|