react-native-xenon 2.2.0 → 2.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.
Files changed (50) hide show
  1. package/lib/module/core/constants.js +2 -0
  2. package/lib/module/core/constants.js.map +1 -1
  3. package/lib/module/core/refs.js +11 -1
  4. package/lib/module/core/refs.js.map +1 -1
  5. package/lib/module/core/utils.js +6 -1
  6. package/lib/module/core/utils.js.map +1 -1
  7. package/lib/module/ui/components/bubble/Bubble.js +1 -1
  8. package/lib/module/ui/components/bubble/Bubble.js.map +1 -1
  9. package/lib/module/ui/components/handle/Handle.js +63 -0
  10. package/lib/module/ui/components/handle/Handle.js.map +1 -0
  11. package/lib/module/ui/components/headers/DebuggerHeader.js +3 -2
  12. package/lib/module/ui/components/headers/DebuggerHeader.js.map +1 -1
  13. package/lib/module/ui/components/items/ConsolePanelItem.js +26 -12
  14. package/lib/module/ui/components/items/ConsolePanelItem.js.map +1 -1
  15. package/lib/module/ui/components/items/NetworkPanelItem.js +50 -38
  16. package/lib/module/ui/components/items/NetworkPanelItem.js.map +1 -1
  17. package/lib/module/ui/components/panels/ConsolePanel.js +9 -12
  18. package/lib/module/ui/components/panels/ConsolePanel.js.map +1 -1
  19. package/lib/module/ui/components/panels/NetworkPanel.js +8 -9
  20. package/lib/module/ui/components/panels/NetworkPanel.js.map +1 -1
  21. package/lib/module/ui/components/panels/Panel.js +25 -13
  22. package/lib/module/ui/components/panels/Panel.js.map +1 -1
  23. package/lib/typescript/src/core/constants.d.ts +2 -0
  24. package/lib/typescript/src/core/constants.d.ts.map +1 -1
  25. package/lib/typescript/src/core/refs.d.ts +2 -1
  26. package/lib/typescript/src/core/refs.d.ts.map +1 -1
  27. package/lib/typescript/src/core/utils.d.ts +2 -1
  28. package/lib/typescript/src/core/utils.d.ts.map +1 -1
  29. package/lib/typescript/src/ui/components/handle/Handle.d.ts +2 -0
  30. package/lib/typescript/src/ui/components/handle/Handle.d.ts.map +1 -0
  31. package/lib/typescript/src/ui/components/headers/DebuggerHeader.d.ts.map +1 -1
  32. package/lib/typescript/src/ui/components/items/ConsolePanelItem.d.ts +2 -2
  33. package/lib/typescript/src/ui/components/items/ConsolePanelItem.d.ts.map +1 -1
  34. package/lib/typescript/src/ui/components/items/NetworkPanelItem.d.ts +2 -2
  35. package/lib/typescript/src/ui/components/items/NetworkPanelItem.d.ts.map +1 -1
  36. package/lib/typescript/src/ui/components/panels/ConsolePanel.d.ts.map +1 -1
  37. package/lib/typescript/src/ui/components/panels/NetworkPanel.d.ts.map +1 -1
  38. package/lib/typescript/src/ui/components/panels/Panel.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/core/constants.ts +2 -0
  41. package/src/core/refs.ts +10 -1
  42. package/src/core/utils.ts +7 -1
  43. package/src/ui/components/bubble/Bubble.tsx +1 -1
  44. package/src/ui/components/handle/Handle.tsx +60 -0
  45. package/src/ui/components/headers/DebuggerHeader.tsx +3 -2
  46. package/src/ui/components/items/ConsolePanelItem.tsx +28 -14
  47. package/src/ui/components/items/NetworkPanelItem.tsx +70 -57
  48. package/src/ui/components/panels/ConsolePanel.tsx +11 -10
  49. package/src/ui/components/panels/NetworkPanel.tsx +14 -7
  50. package/src/ui/components/panels/Panel.tsx +28 -9
@@ -3,15 +3,11 @@
3
3
  import { forwardRef, useCallback, useContext, useMemo } from 'react';
4
4
  import { FlatList, StyleSheet } from 'react-native';
5
5
  import { MainContext } from "../../../contexts/index.js";
6
- import refs, { HeaderState, PanelState } from "../../../core/refs.js";
6
+ import { NETWORK_ITEM_HEIGHT } from "../../../core/constants.js";
7
7
  import { DebuggerPanel, NetworkType } from "../../../types/index.js";
8
- import Divider from "../common/Divider.js";
9
8
  import Empty from "../common/Empty.js";
10
9
  import NetworkPanelItem from "../items/NetworkPanelItem.js";
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const Separator = () => /*#__PURE__*/_jsx(Divider, {
13
- type: "horizontal"
14
- });
15
11
  const NetworkPanel = /*#__PURE__*/forwardRef(({
16
12
  style
17
13
  }, ref) => {
@@ -40,8 +36,6 @@ const NetworkPanel = /*#__PURE__*/forwardRef(({
40
36
  endTime: item.endTime,
41
37
  status: item.status,
42
38
  onPress: () => {
43
- refs.header.current?.setCurrentIndex(HeaderState.Network);
44
- refs.panel.current?.setCurrentIndex(PanelState.NetworkDetail);
45
39
  setDebuggerState(draft => {
46
40
  draft.detailsData = {
47
41
  type: DebuggerPanel.Network,
@@ -52,17 +46,22 @@ const NetworkPanel = /*#__PURE__*/forwardRef(({
52
46
  });
53
47
  }
54
48
  }), [setDebuggerState]);
49
+ const getItemLayout = useCallback((_, index) => ({
50
+ length: NETWORK_ITEM_HEIGHT,
51
+ offset: NETWORK_ITEM_HEIGHT * index,
52
+ index
53
+ }), []);
55
54
  return /*#__PURE__*/_jsx(FlatList, {
56
55
  inverted: !!data.length,
57
56
  data: data,
58
57
  ref: ref,
59
58
  renderItem: renderItem,
60
59
  keyExtractor: ([key]) => key,
61
- ItemSeparatorComponent: Separator,
62
60
  style: [styles.container, style],
63
61
  ListEmptyComponent: /*#__PURE__*/_jsx(Empty, {
64
62
  children: "No records yet"
65
- })
63
+ }),
64
+ getItemLayout: getItemLayout
66
65
  });
67
66
  });
68
67
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","MainContext","refs","HeaderState","PanelState","DebuggerPanel","NetworkType","Divider","Empty","NetworkPanelItem","jsx","_jsx","Separator","type","NetworkPanel","style","ref","debuggerState","searchQuery","networkInterceptor","networkRequests","setDebuggerState","data","result","Array","from","filter","item","url","toLowerCase","includes","reverse","renderItem","_","method","WS","undefined","name","startTime","endTime","status","onPress","header","current","setCurrentIndex","Network","panel","NetworkDetail","draft","detailsData","selectedTab","beautified","inverted","length","keyExtractor","key","ItemSeparatorComponent","styles","container","ListEmptyComponent","children","create","flex","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/NetworkPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useContext","useMemo","FlatList","StyleSheet","MainContext","NETWORK_ITEM_HEIGHT","DebuggerPanel","NetworkType","Empty","NetworkPanelItem","jsx","_jsx","NetworkPanel","style","ref","debuggerState","searchQuery","networkInterceptor","networkRequests","setDebuggerState","data","result","Array","from","filter","item","url","toLowerCase","includes","reverse","renderItem","_","method","type","WS","undefined","name","startTime","endTime","status","onPress","draft","detailsData","Network","selectedTab","beautified","getItemLayout","index","length","offset","inverted","keyExtractor","key","styles","container","ListEmptyComponent","children","create","flex","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/NetworkPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
 
3
- import { Platform, StyleSheet, View } from 'react-native';
4
- import refs, { PanelState } from "../../../core/refs.js";
3
+ import { Animated, Platform, StyleSheet } from 'react-native';
4
+ import refs, { HeaderState, PanelState } from "../../../core/refs.js";
5
5
  import IndexedStack from "../common/IndexedStack.js";
6
6
  import LogMessageDetails from "../details/LogMessageDetails.js";
7
7
  import NetworkRequestDetails from "../details/NetworkRequestDetails.js";
8
8
  import ConsolePanel from "./ConsolePanel.js";
9
9
  import NetworkPanel from "./NetworkPanel.js";
10
10
  import colors from "../../../theme/colors.js";
11
- import { forwardRef, useContext, useMemo } from 'react';
11
+ import { forwardRef, useContext, useEffect, useMemo } from 'react';
12
12
  import Header from "../headers/Header.js";
13
13
  import { SafeAreaProvider } from 'react-native-safe-area-context';
14
14
  import SafeArea from "../common/SafeArea.js";
15
15
  import { MainContext } from "../../../contexts/index.js";
16
+ import Handle from "../handle/Handle.js";
17
+ import { DebuggerPanel } from "../../../types/index.js";
16
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
19
  const Panel = /*#__PURE__*/forwardRef(({
18
20
  style,
@@ -20,30 +22,40 @@ const Panel = /*#__PURE__*/forwardRef(({
20
22
  }, ref) => {
21
23
  const {
22
24
  debuggerState: {
23
- position
24
- },
25
- dimensions: {
26
- width: screenWidth,
27
- height: screenHeight
25
+ position,
26
+ detailsData
28
27
  }
29
28
  } = useContext(MainContext);
30
29
  const containerStyle = useMemo(() => [styles.container, {
31
30
  [position]: 0,
32
- height: Math.min(screenWidth, screenHeight) * 0.75
33
- }], [position, screenWidth, screenHeight]);
34
- return /*#__PURE__*/_jsx(View, {
31
+ width: refs.panelSize.current?.x,
32
+ height: refs.panelSize.current?.y
33
+ }], [position]);
34
+ useEffect(() => {
35
+ switch (detailsData?.type) {
36
+ case DebuggerPanel.Network:
37
+ refs.header.current?.setCurrentIndex(HeaderState.Network);
38
+ refs.panel.current?.setCurrentIndex(PanelState.NetworkDetail);
39
+ break;
40
+ case DebuggerPanel.Console:
41
+ refs.header.current?.setCurrentIndex(HeaderState.Console);
42
+ refs.panel.current?.setCurrentIndex(PanelState.ConsoleDetail);
43
+ break;
44
+ }
45
+ }, [detailsData?.type]);
46
+ return /*#__PURE__*/_jsx(Animated.View, {
35
47
  style: [containerStyle, style],
36
48
  ref: ref,
37
49
  ...props,
38
50
  children: /*#__PURE__*/_jsxs(SafeAreaProvider, {
39
- children: [position === 'top' && /*#__PURE__*/_jsx(SafeArea, {
51
+ children: [position === 'bottom' && /*#__PURE__*/_jsx(Handle, {}), position === 'top' && /*#__PURE__*/_jsx(SafeArea, {
40
52
  inset: "top"
41
53
  }), /*#__PURE__*/_jsx(Header, {}), /*#__PURE__*/_jsxs(IndexedStack, {
42
54
  defaultIndex: PanelState.Network,
43
55
  id: "debugger-panel",
44
56
  ref: refs.panel,
45
57
  children: [/*#__PURE__*/_jsx(NetworkPanel, {}), /*#__PURE__*/_jsx(ConsolePanel, {}), /*#__PURE__*/_jsx(NetworkRequestDetails, {}), /*#__PURE__*/_jsx(LogMessageDetails, {})]
46
- }), position === 'bottom' && /*#__PURE__*/_jsx(SafeArea, {
58
+ }), position === 'top' && /*#__PURE__*/_jsx(Handle, {}), position === 'bottom' && /*#__PURE__*/_jsx(SafeArea, {
47
59
  inset: "bottom"
48
60
  })]
49
61
  })
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","StyleSheet","View","refs","PanelState","IndexedStack","LogMessageDetails","NetworkRequestDetails","ConsolePanel","NetworkPanel","colors","forwardRef","useContext","useMemo","Header","SafeAreaProvider","SafeArea","MainContext","jsx","_jsx","jsxs","_jsxs","Panel","style","props","ref","debuggerState","position","dimensions","width","screenWidth","height","screenHeight","containerStyle","styles","container","Math","min","children","inset","defaultIndex","Network","id","panel","create","flex","absoluteFillObject","pointerEvents","OS","zIndex","top","undefined","bottom","backgroundColor","lightGray","borderBottomColor","gray","borderBottomWidth","hairlineWidth"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/Panel.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AACzE,OAAOC,IAAI,IAAIC,UAAU,QAAQ,uBAAoB;AACrD,OAAOC,YAAY,MAAM,2BAAwB;AACjD,OAAOC,iBAAiB,MAAM,iCAA8B;AAC5D,OAAOC,qBAAqB,MAAM,qCAAkC;AACpE,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,MAAM,MAAM,0BAAuB;AAC1C,SAASC,UAAU,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACvD,OAAOC,MAAM,MAAM,sBAAmB;AACtC,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,QAAQ,MAAM,uBAAoB;AACzC,SAASC,WAAW,QAAQ,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAIhD,MAAMC,KAAK,gBAAGX,UAAU,CAAmB,CAAC;EAAEY,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACvE,MAAM;IACJC,aAAa,EAAE;MAAEC;IAAS,CAAC;IAC3BC,UAAU,EAAE;MAAEC,KAAK,EAAEC,WAAW;MAAEC,MAAM,EAAEC;IAAa;EACzD,CAAC,GAAGpB,UAAU,CAACK,WAAW,CAAE;EAE5B,MAAMgB,cAAc,GAAGpB,OAAO,CAC5B,MAAM,CAACqB,MAAM,CAACC,SAAS,EAAE;IAAE,CAACR,QAAQ,GAAG,CAAC;IAAEI,MAAM,EAAEK,IAAI,CAACC,GAAG,CAACP,WAAW,EAAEE,YAAY,CAAC,GAAG;EAAK,CAAC,CAAC,EAC/F,CAACL,QAAQ,EAAEG,WAAW,EAAEE,YAAY,CACtC,CAAC;EAED,oBACEb,IAAA,CAACjB,IAAI;IAACqB,KAAK,EAAE,CAACU,cAAc,EAAEV,KAAK,CAAE;IAACE,GAAG,EAAEA,GAAI;IAAA,GAAKD,KAAK;IAAAc,QAAA,eACvDjB,KAAA,CAACN,gBAAgB;MAAAuB,QAAA,GACdX,QAAQ,KAAK,KAAK,iBAAIR,IAAA,CAACH,QAAQ;QAACuB,KAAK,EAAC;MAAK,CAAE,CAAC,eAE/CpB,IAAA,CAACL,MAAM,IAAE,CAAC,eAEVO,KAAA,CAAChB,YAAY;QAACmC,YAAY,EAAEpC,UAAU,CAACqC,OAAQ;QAACC,EAAE,EAAC,gBAAgB;QAACjB,GAAG,EAAEtB,IAAI,CAACwC,KAAM;QAAAL,QAAA,gBAClFnB,IAAA,CAACV,YAAY,IAAE,CAAC,eAChBU,IAAA,CAACX,YAAY,IAAE,CAAC,eAChBW,IAAA,CAACZ,qBAAqB,IAAE,CAAC,eACzBY,IAAA,CAACb,iBAAiB,IAAE,CAAC;MAAA,CACT,CAAC,EAEdqB,QAAQ,KAAK,QAAQ,iBAAIR,IAAA,CAACH,QAAQ;QAACuB,KAAK,EAAC;MAAQ,CAAE,CAAC;IAAA,CACrC;EAAC,CACf,CAAC;AAEX,CAAC,CAAC;AAEF,MAAML,MAAM,GAAGjC,UAAU,CAAC2C,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,IAAI,EAAE,CAAC;IACP,GAAG5C,UAAU,CAAC6C,kBAAkB;IAChCC,aAAa,EAAE,UAAU;IACzB,IAAI/C,QAAQ,CAACgD,EAAE,KAAK,SAAS,GAAG;MAAEC,MAAM,EAAE;IAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtDC,GAAG,EAAEC,SAAS;IACdC,MAAM,EAAED,SAAS;IACjBE,eAAe,EAAE3C,MAAM,CAAC4C,SAAS;IACjCC,iBAAiB,EAAE7C,MAAM,CAAC8C,IAAI;IAC9BC,iBAAiB,EAAExD,UAAU,CAACyD;EAChC;AACF,CAAC,CAAC;AAEF,eAAepC,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["Animated","Platform","StyleSheet","refs","HeaderState","PanelState","IndexedStack","LogMessageDetails","NetworkRequestDetails","ConsolePanel","NetworkPanel","colors","forwardRef","useContext","useEffect","useMemo","Header","SafeAreaProvider","SafeArea","MainContext","Handle","DebuggerPanel","jsx","_jsx","jsxs","_jsxs","Panel","style","props","ref","debuggerState","position","detailsData","containerStyle","styles","container","width","panelSize","current","x","height","y","type","Network","header","setCurrentIndex","panel","NetworkDetail","Console","ConsoleDetail","View","children","inset","defaultIndex","id","create","flex","absoluteFillObject","pointerEvents","OS","zIndex","top","undefined","bottom","backgroundColor","lightGray","borderBottomColor","gray","borderBottomWidth","hairlineWidth"],"sourceRoot":"../../../../../src","sources":["ui/components/panels/Panel.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,4 @@
1
1
  export declare const NETWORK_REQUEST_HEADER = "X-React-Native-Xenon";
2
+ export declare const NETWORK_ITEM_HEIGHT = 36;
3
+ export declare const CONSOLE_ITEM_HEIGHT = 36;
2
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IndexedStackMethods } from '../ui/components/common/IndexedStack';
2
- import type { TextInput } from 'react-native';
2
+ import { Animated, type TextInput } from 'react-native';
3
3
  export declare enum DebuggerVisibility {
4
4
  Hidden = -1,
5
5
  Bubble = 0,
@@ -22,6 +22,7 @@ declare const refs: {
22
22
  panel: import("react").RefObject<IndexedStackMethods<PanelState> | null>;
23
23
  header: import("react").RefObject<IndexedStackMethods<HeaderState> | null>;
24
24
  searchInput: import("react").RefObject<TextInput | null>;
25
+ panelSize: import("react").RefObject<Animated.ValueXY | null>;
25
26
  };
26
27
  export default refs;
27
28
  //# sourceMappingURL=refs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../../src/core/refs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,oBAAY,kBAAkB;IAC5B,MAAM,KAAK;IACX,MAAM,IAAI;IACV,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,aAAa,IAAI;IACjB,aAAa,IAAI;CAClB;AAED,oBAAY,WAAW;IACrB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,OAAO,IAAI;CACZ;AAED,QAAA,MAAM,IAAI;;;;;CAKT,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../../src/core/refs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,oBAAY,kBAAkB;IAC5B,MAAM,KAAK;IACX,MAAM,IAAI;IACV,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,aAAa,IAAI;IACjB,aAAa,IAAI;CAClB;AAED,oBAAY,WAAW;IACrB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,OAAO,IAAI;CACZ;AAED,QAAA,MAAM,IAAI;;;;;;CAcT,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -20,7 +20,7 @@ export declare const getNetworkUtils: (data?: HttpRequest | WebSocketRequest) =>
20
20
  };
21
21
  export declare const getConsoleTypeColor: (type: LogMessage["type"]) => string;
22
22
  export declare const getVerticalSafeMargin: (screenHeight: number) => number;
23
- export declare const clamp: (value: number, min: number, max: number) => number;
23
+ export declare const clamp: (min: number, max: number, value: number) => number;
24
24
  export declare const getHttpInterceptorId: () => string;
25
25
  export declare const showNewLine: (when: boolean) => "\n" | "";
26
26
  export declare const keyValueToString: (key: string, value: any, newLine?: "leading" | "trailing" | null) => string;
@@ -30,6 +30,7 @@ export declare const formatRequestStatusCode: (statusCode?: number) => string;
30
30
  export declare const formatLogMessage: (values: any[]) => any;
31
31
  export declare const beautify: (data: any, beautified: boolean) => string;
32
32
  export declare const convertToCurl: (method: HttpRequest["method"], url: HttpRequest["url"], headers: HttpRequest["requestHeaders"], body: HttpRequest["body"]) => string;
33
+ export declare const formatCount: (count: number) => string;
33
34
  export declare function frozen(_target: Object): void;
34
35
  export declare function singleton<T extends {
35
36
  new (...args: any[]): {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjG,eAAO,MAAM,SAAS,GAAU,MAAM,MAAM,kBAgB3C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,GAAG,gBAAgB;;;;;;;;;;;;;;;;CAuBpE,CAAC;AAKF,eAAO,MAAM,mBAAmB,GAAI,MAAM,UAAU,CAAC,MAAM,CAAC,WAsB3D,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,cAAc,MAAM,WAAqB,CAAC;AAEhF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WACxB,CAAC;AAEtC,eAAO,MAAM,oBAAoB,cAIhC,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,MAAM,OAAO,cAAuB,CAAC;AAUjE,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,EACX,OAAO,GAAG,EACV,UAAS,SAAS,GAAG,UAAU,GAAG,IAAiB,KAClD,MACsG,CAAC;AAE1G,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,WAAoB,CAAC;AAExE,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,WAGzE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,WAAiC,CAAC;AAE7F,eAAO,MAAM,gBAAgB,GAAI,QAAQ,GAAG,EAAE,QAE7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,GAAG,EAAE,YAAY,OAAO,WAStD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,CAAC,QAAQ,CAAC,EAC7B,KAAK,WAAW,CAAC,KAAK,CAAC,EACvB,SAAS,WAAW,CAAC,gBAAgB,CAAC,EACtC,MAAM,WAAW,CAAC,MAAM,CAAC,WAgB1B,CAAC;AAIF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAIrC;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,WAAW,EAAE,CAAC;kBAIvD,GAAG,EAAE;;MAS7B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjG,eAAO,MAAM,SAAS,GAAU,MAAM,MAAM,kBAgB3C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,GAAG,gBAAgB;;;;;;;;;;;;;;;;CAuBpE,CAAC;AAKF,eAAO,MAAM,mBAAmB,GAAI,MAAM,UAAU,CAAC,MAAM,CAAC,WAsB3D,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,cAAc,MAAM,WAAqB,CAAC;AAEhF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,WACxB,CAAC;AAEtC,eAAO,MAAM,oBAAoB,cAIhC,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,MAAM,OAAO,cAAuB,CAAC;AAUjE,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,EACX,OAAO,GAAG,EACV,UAAS,SAAS,GAAG,UAAU,GAAG,IAAiB,KAClD,MACsG,CAAC;AAE1G,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,WAAoB,CAAC;AAExE,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,WAGzE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,WAAiC,CAAC;AAE7F,eAAO,MAAM,gBAAgB,GAAI,QAAQ,GAAG,EAAE,QAE7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,GAAG,EAAE,YAAY,OAAO,WAStD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,WAAW,CAAC,QAAQ,CAAC,EAC7B,KAAK,WAAW,CAAC,KAAK,CAAC,EACvB,SAAS,WAAW,CAAC,gBAAgB,CAAC,EACtC,MAAM,WAAW,CAAC,MAAM,CAAC,WAgB1B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAIxC,CAAC;AAIF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAIrC;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,WAAW,EAAE,CAAC;kBAIvD,GAAG,EAAE;;MAS7B"}
@@ -0,0 +1,2 @@
1
+ export default function Handle(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Handle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Handle.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/handle/Handle.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,MAAM,4CAmC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebuggerHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/headers/DebuggerHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErE,OAAa,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAM1E,UAAU,mBAAmB;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,cAAc,4GA8EnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DebuggerHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/headers/DebuggerHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErE,OAAa,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAO1E,UAAU,mBAAmB;IAC3B,aAAa,EAAE,UAAU,CAAC;IAC1B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,cAAc,4GA8EnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -2,6 +2,6 @@ import type { LogMessage } from '../../../types';
2
2
  interface ConsolePanelItemProps extends LogMessage {
3
3
  onPress: () => void;
4
4
  }
5
- export default function ConsolePanelItem({ type, values, onPress }: ConsolePanelItemProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
5
+ declare const ConsolePanelItem: import("react").NamedExoticComponent<ConsolePanelItemProps>;
6
+ export default ConsolePanelItem;
7
7
  //# sourceMappingURL=ConsolePanelItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsolePanelItem.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/items/ConsolePanelItem.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,UAAU,qBAAsB,SAAQ,UAAU;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,qBAAqB,2CAWxF"}
1
+ {"version":3,"file":"ConsolePanelItem.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/items/ConsolePanelItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,UAAU,qBAAsB,SAAQ,UAAU;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,gBAAgB,6DAerB,CAAC;AAoBF,eAAe,gBAAgB,CAAC"}
@@ -7,6 +7,6 @@ interface NetworkPanelItemProps {
7
7
  status?: NetworkRequest['status'];
8
8
  onPress: () => void;
9
9
  }
10
- export default function NetworkPanelItem({ method, name, startTime, endTime, status, onPress, }: NetworkPanelItemProps): import("react/jsx-runtime").JSX.Element;
11
- export {};
10
+ declare const NetworkPanelItem: import("react").NamedExoticComponent<NetworkPanelItemProps>;
11
+ export default NetworkPanelItem;
12
12
  //# sourceMappingURL=NetworkPanelItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkPanelItem.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/items/NetworkPanelItem.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGlE,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAsBD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,qBAAqB,2CAuDvB"}
1
+ {"version":3,"file":"NetworkPanelItem.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/items/NetworkPanelItem.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIlE,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAsBD,QAAA,MAAM,gBAAgB,6DAqErB,CAAC;AAwCF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/ConsolePanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAIR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDAuDtE,CAAC;AAcH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ConsolePanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/ConsolePanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDA8DtE,CAAC;AAWH,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/NetworkPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAgBtB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDA0DtE,CAAC;AASH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"NetworkPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/NetworkPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAatB,QAAA,MAAM,YAAY;YAAkC,SAAS,CAAC,SAAS,CAAC;iDAoEtE,CAAC;AASH,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAc1E,UAAU,UAAW,SAAQ,SAAS;CAAG;AAEzC,QAAA,MAAM,KAAK,6FA6BT,CAAC;AAgBH,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/panels/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBpF,UAAU,UAAW,SAAQ,SAAS;CAAG;AAEzC,QAAA,MAAM,KAAK,6FA8CT,CAAC;AAgBH,eAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-xenon",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "A powerful in-app debugging tool for React Native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -1 +1,3 @@
1
1
  export const NETWORK_REQUEST_HEADER = 'X-React-Native-Xenon';
2
+ export const NETWORK_ITEM_HEIGHT = 36;
3
+ export const CONSOLE_ITEM_HEIGHT = 36;
package/src/core/refs.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createRef } from 'react';
2
2
  import type { IndexedStackMethods } from '../ui/components/common/IndexedStack';
3
- import type { TextInput } from 'react-native';
3
+ import { Animated, Dimensions, type TextInput } from 'react-native';
4
4
 
5
5
  export enum DebuggerVisibility {
6
6
  Hidden = -1,
@@ -27,6 +27,15 @@ const refs = {
27
27
  panel: createRef<IndexedStackMethods<PanelState>>(),
28
28
  header: createRef<IndexedStackMethods<HeaderState>>(),
29
29
  searchInput: createRef<TextInput>(),
30
+ panelSize: (() => {
31
+ const ref = createRef<Animated.ValueXY>();
32
+ const dimensions = Dimensions.get('window');
33
+ ref.current = new Animated.ValueXY({
34
+ x: dimensions.width,
35
+ y: Math.min(dimensions.width, dimensions.height) * 0.75,
36
+ });
37
+ return ref;
38
+ })(),
30
39
  };
31
40
 
32
41
  export default refs;
package/src/core/utils.ts CHANGED
@@ -79,7 +79,7 @@ export const getConsoleTypeColor = (type: LogMessage['type']) => {
79
79
  //#region metrics
80
80
  export const getVerticalSafeMargin = (screenHeight: number) => screenHeight / 8;
81
81
 
82
- export const clamp = (value: number, min: number, max: number) =>
82
+ export const clamp = (min: number, max: number, value: number) =>
83
83
  Math.max(min, Math.min(max, value));
84
84
 
85
85
  export const getHttpInterceptorId = () => {
@@ -152,6 +152,12 @@ export const convertToCurl = (
152
152
 
153
153
  return curlCommand;
154
154
  };
155
+
156
+ export const formatCount = (count: number) => {
157
+ if (count < 1000) return count.toString();
158
+ if (count < 1000000) return `${(count / 1000).toFixed(1)}K`;
159
+ return `${(count / 1000000).toFixed(1)}M`;
160
+ };
155
161
  //#endregion
156
162
 
157
163
  //#region decorators
@@ -80,9 +80,9 @@ const Bubble = forwardRef<View, BubbleProps>(
80
80
  const verticalSafeMargin = getVerticalSafeMargin(screenHeight);
81
81
 
82
82
  const finalY = clamp(
83
- gesture.moveY,
84
83
  verticalSafeMargin,
85
84
  screenHeight - verticalSafeMargin - bubbleSize,
85
+ gesture.moveY,
86
86
  );
87
87
 
88
88
  Animated.spring(pan.current, {
@@ -0,0 +1,60 @@
1
+ import { useContext, useMemo, useRef } from 'react';
2
+ import { Animated, PanResponder, StyleSheet, View } from 'react-native';
3
+ import { MainContext } from '../../../contexts';
4
+ import refs from '../../../core/refs';
5
+ import { clamp } from '../../../core/utils';
6
+ import colors from '../../../theme/colors';
7
+
8
+ export default function Handle() {
9
+ const pan = useRef(new Animated.Value(0));
10
+ const {
11
+ dimensions,
12
+ debuggerState: { position },
13
+ } = useContext(MainContext)!;
14
+
15
+ const panResponder = useMemo(() => {
16
+ const minPanelHeight = dimensions.height * 0.25;
17
+ const maxPanelHeight = dimensions.height * 0.9;
18
+
19
+ return PanResponder.create({
20
+ onStartShouldSetPanResponder: () => true,
21
+ onMoveShouldSetPanResponder: () => true,
22
+ onPanResponderMove: (event, gestureState) => {
23
+ const value =
24
+ position === 'bottom' ? dimensions.height - gestureState.moveY : gestureState.moveY;
25
+
26
+ refs.panelSize.current?.setValue({
27
+ x: dimensions.width,
28
+ y: clamp(minPanelHeight, maxPanelHeight, value),
29
+ });
30
+
31
+ return Animated.event([null, { dy: pan.current }], {
32
+ useNativeDriver: false,
33
+ })(event, gestureState);
34
+ },
35
+ });
36
+ }, [dimensions.height, dimensions.width, position]);
37
+
38
+ return (
39
+ <View style={styles.handleContainer}>
40
+ <Animated.View {...panResponder.panHandlers} style={styles.handle} hitSlop={16} />
41
+ </View>
42
+ );
43
+ }
44
+
45
+ const styles = StyleSheet.create({
46
+ handleContainer: {
47
+ alignItems: 'center',
48
+ justifyContent: 'center',
49
+ backgroundColor: colors.lightGray,
50
+ borderTopColor: colors.gray,
51
+ borderTopWidth: StyleSheet.hairlineWidth,
52
+ },
53
+ handle: {
54
+ width: 48,
55
+ height: 4,
56
+ marginVertical: 8,
57
+ borderRadius: 2,
58
+ backgroundColor: colors.gray,
59
+ },
60
+ });
@@ -6,6 +6,7 @@ import icons from '../../../theme/icons';
6
6
  import Divider from '../common/Divider';
7
7
  import DebuggerHeaderItem from '../items/DebuggerHeaderItem';
8
8
  import HeaderComponents from './HeaderComponents';
9
+ import { formatCount } from '../../../core/utils';
9
10
 
10
11
  interface DebuggerHeaderProps {
11
12
  selectedPanel: PanelState;
@@ -54,7 +55,7 @@ const DebuggerHeader = forwardRef<ScrollView, DebuggerHeaderProps>(
54
55
  <DebuggerHeaderItem
55
56
  isLabel
56
57
  isActive={selectedPanel === PanelState.Network}
57
- content="Network Panel"
58
+ content={`Network (${formatCount(networkInterceptor.networkRequests.size)})`}
58
59
  onPress={() => switchTo(PanelState.Network)}
59
60
  />
60
61
 
@@ -74,7 +75,7 @@ const DebuggerHeader = forwardRef<ScrollView, DebuggerHeaderProps>(
74
75
  <DebuggerHeaderItem
75
76
  isLabel
76
77
  isActive={selectedPanel === PanelState.Console}
77
- content="Console Panel"
78
+ content={`Console (${formatCount(consoleInterceptor.logMessages.length)})`}
78
79
  onPress={() => switchTo(PanelState.Console)}
79
80
  />
80
81
 
@@ -1,4 +1,6 @@
1
- import { StyleSheet, Text } from 'react-native';
1
+ import { memo } from 'react';
2
+ import { StyleSheet, Text, View } from 'react-native';
3
+ import { CONSOLE_ITEM_HEIGHT } from '../../../core/constants';
2
4
  import { formatLogMessage, getConsoleTypeColor } from '../../../core/utils';
3
5
  import colors from '../../../theme/colors';
4
6
  import type { LogMessage } from '../../../types';
@@ -8,23 +10,33 @@ interface ConsolePanelItemProps extends LogMessage {
8
10
  onPress: () => void;
9
11
  }
10
12
 
11
- export default function ConsolePanelItem({ type, values, onPress }: ConsolePanelItemProps) {
12
- return (
13
- <Touchable
14
- onPress={onPress}
15
- style={[styles.container, { backgroundColor: getConsoleTypeColor(type) }]}
16
- >
17
- <Text numberOfLines={1} style={styles.text}>
18
- {formatLogMessage(values)}
19
- </Text>
20
- </Touchable>
21
- );
22
- }
13
+ const ConsolePanelItem = memo<ConsolePanelItemProps>(
14
+ ({ type, values, onPress }) => {
15
+ return (
16
+ <Touchable onPress={onPress} style={styles.container}>
17
+ <View style={[styles.wrapper, { backgroundColor: getConsoleTypeColor(type) }]}>
18
+ <Text numberOfLines={1} style={styles.text}>
19
+ {formatLogMessage(values)}
20
+ </Text>
21
+ </View>
22
+ </Touchable>
23
+ );
24
+ },
25
+ (prevProps, nextProps) => {
26
+ return prevProps.type === nextProps.type && prevProps.values === nextProps.values;
27
+ },
28
+ );
23
29
 
24
30
  const styles = StyleSheet.create({
25
31
  container: {
26
32
  flex: 1,
27
- padding: 8,
33
+ paddingBottom: 4,
34
+ height: CONSOLE_ITEM_HEIGHT,
35
+ },
36
+ wrapper: {
37
+ flex: 1,
38
+ paddingHorizontal: 8,
39
+ justifyContent: 'center',
28
40
  borderRadius: 8,
29
41
  },
30
42
  text: {
@@ -32,3 +44,5 @@ const styles = StyleSheet.create({
32
44
  fontSize: 14,
33
45
  },
34
46
  });
47
+
48
+ export default ConsolePanelItem;