UNPKG

react-native-xenon

Version:

A powerful in-app debugging tool for React Native.

60 lines (59 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = ConsolePanel; var _react = require("react"); var _reactNative = require("react-native"); var _colors = _interopRequireDefault(require("../../../theme/colors")); var _contexts = require("../../../contexts"); var _types = require("../../../types"); var _ConsolePanelItem = _interopRequireDefault(require("../items/ConsolePanelItem")); 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 ConsolePanel() { const { consoleInterceptor: { logMessages }, setDebuggerState } = (0, _react.useContext)(_contexts.MainContext); const renderItem = (0, _react.useCallback)(({ item }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConsolePanelItem.default, { ...item, onPress: () => { setDebuggerState(draft => { draft.selectedPanel = null; draft.detailsData = { type: _types.DebuggerPanel.Console, data: item, selectedTab: 'logMessage', beautified: false }; }); } }), [setDebuggerState]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.FlatList, { inverted: true, data: [...logMessages].reverse(), renderItem: renderItem, keyExtractor: (_, index) => index.toString(), 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=ConsolePanel.js.map