UNPKG

react-native-xenon

Version:

A powerful in-app debugging tool for React Native.

64 lines (63 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = NetworkPanel; var _react = require("react"); var _reactNative = require("react-native"); var _colors = _interopRequireDefault(require("../../../theme/colors")); var _contexts = require("../../../contexts"); var _types = require("../../../types"); var _NetworkPanelItem = _interopRequireDefault(require("../items/NetworkPanelItem")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const Separator = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, { style: styles.divider }); function NetworkPanel() { const { networkInterceptor: { networkRequests }, setDebuggerState } = (0, _react.useContext)(_contexts.MainContext); const data = (0, _react.useMemo)(() => Array.from(networkRequests).reverse(), [networkRequests]); const renderItem = (0, _react.useCallback)(({ item: [_, item] }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_NetworkPanelItem.default, { method: item.type === _types.NetworkType.WS ? undefined : item.method, name: item.url, duration: item.duration, status: item.status, onPress: () => { setDebuggerState(draft => { draft.selectedPanel = null; draft.detailsData = { type: _types.DebuggerPanel.Network, data: item, selectedTab: 'overview', beautified: false }; }); } }), [setDebuggerState]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, { inverted: true, data: data, renderItem: renderItem, keyExtractor: ([key]) => key, ItemSeparatorComponent: Separator, style: styles.container }); } const styles = _reactNative.StyleSheet.create({ container: { flex: 1, paddingHorizontal: 8 }, divider: { height: _reactNative.StyleSheet.hairlineWidth, backgroundColor: _colors.default.gray } }); //# sourceMappingURL=NetworkPanel.js.map