UNPKG

react-native-xenon

Version:

A powerful in-app debugging tool for React Native.

77 lines (76 loc) 2.65 kB
"use strict"; import { useContext } from 'react'; import { MainContext } from "../../../contexts/index.js"; import { convertToCurl, getNetworkUtils, shareText } from "../../../core/utils.js"; import colors from "../../../theme/colors.js"; import icons from "../../../theme/icons.js"; import { NetworkType } from "../../../types/index.js"; import Divider from "../common/Divider.js"; import DebuggerHeaderItem from "../items/DebuggerHeaderItem.js"; import HeaderComponents from "./HeaderComponents.js"; import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; export default function NetworkHeader({ selectedPanel, style, ref }) { const { debuggerState: { detailsData }, setDebuggerState } = useContext(MainContext); const data = detailsData?.data; const { isWS, overviewShown, headersShown, requestShown, responseShown, messagesShown } = getNetworkUtils(data); return /*#__PURE__*/_jsxs(HeaderComponents.Wrapper, { ref: ref, style: style, children: [/*#__PURE__*/_jsx(HeaderComponents.Back, { selectedPanel: selectedPanel }), /*#__PURE__*/_jsx(HeaderComponents.MainButtons, {}), /*#__PURE__*/_jsx(Divider, { type: "vertical" }), !!overviewShown && /*#__PURE__*/_jsx(HeaderComponents.DetailTabItem, { tab: "overview", label: "Overview" }), !!headersShown && /*#__PURE__*/_jsx(HeaderComponents.DetailTabItem, { tab: "headers", label: "Headers" }), !!requestShown && /*#__PURE__*/_jsx(HeaderComponents.DetailTabItem, { tab: "request", label: "Request" }), !!responseShown && /*#__PURE__*/_jsx(HeaderComponents.DetailTabItem, { tab: "response", label: "Response" }), !!messagesShown && /*#__PURE__*/_jsx(HeaderComponents.DetailTabItem, { tab: "messages", label: "Messages" }), !isWS && /*#__PURE__*/_jsxs(_Fragment, { children: [/*#__PURE__*/_jsx(Divider, { type: "vertical" }), /*#__PURE__*/_jsx(DebuggerHeaderItem, { content: icons.beautify, isActive: detailsData?.beautified, activeColor: colors.green, onPress: () => { setDebuggerState(draft => { draft.detailsData.beautified = !draft.detailsData?.beautified; }); } }), /*#__PURE__*/_jsx(DebuggerHeaderItem, { content: icons.share, onPress: async () => { if (data?.type === NetworkType.WS) return; await shareText(convertToCurl(data.method, data.url, data.requestHeaders, data.body)); } })] })] }); } //# sourceMappingURL=NetworkHeader.js.map