@inspectr/app 0.0.1 → 0.0.2
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/dist/_astro/ui.BM85n9mr.js +19 -0
- package/dist/index.html +1 -1
- package/package.json +3 -2
- package/dist/_astro/ui.DWxpjx36.js +0 -19
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import{r as l,a as F}from"./index.uG8-tmmD.js";var ae={exports:{}},H={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var oe;function Ce(){if(oe)return H;oe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,a,o){var i=null;if(o!==void 0&&(i=""+o),a.key!==void 0&&(i=""+a.key),"key"in a){o={};for(var c in a)c!=="key"&&(o[c]=a[c])}else o=a;return a=o.ref,{$$typeof:e,type:n,key:i,ref:a!==void 0?a:null,props:o}}return H.Fragment=t,H.jsx=r,H.jsxs=r,H}var le;function Oe(){return le||(le=1,ae.exports=Ce()),ae.exports}var s=Oe();const pe=e=>e>=200&&e<300?"bg-green-200 text-green-800":e>=300&&e<400?"bg-blue-200 text-blue-800":e>=400&&e<500?"bg-orange-600 text-orange-200":e>=500?"bg-red-800 text-red-100":"bg-gray-200 text-gray-800",Ee=["bg-blue-100","border-l-4","border-blue-700"].join(" "),Se=({request:e,reqId:t,onSelect:r,onRemove:n,selected:a})=>{const o=i=>{r(i)};return s.jsx("li",{className:`flex items-center cursor-pointer hover:bg-gray-200 ${a?Ee:""}`,onClick:()=>{o(e)},children:s.jsxs("div",{className:"flex items-center p-2 w-full",children:[s.jsx("div",{className:"w-16 flex justify-center",children:s.jsx("span",{className:`inline-flex px-3 py-1 text-xs font-semibold rounded-full ${pe(e.response.statusCode)}`,children:e.response.statusCode||"N/A"})}),s.jsx("div",{className:"w-20 text-center font-medium",children:e.method||"GET"}),s.jsx("div",{className:"flex-grow truncate text-left",children:e.path||e.url}),s.jsxs("div",{className:"w-20 text-gray-500 text-center",children:[e.latency,"ms"]}),s.jsx("button",{className:"w-8 h-8 flex items-center justify-center cursor-pointer text-red-500 hover:text-red-700",onClick:i=>{i.stopPropagation(),n(t)},children:"✕"})]})})},Pe=({requests:e,onSelect:t,onRemove:r,clearRequests:n,selectedRequest:a})=>s.jsxs("div",{className:"flex flex-col h-full",children:[s.jsxs("div",{className:"p-4 flex justify-between items-center",children:[s.jsxs("span",{className:"font-bold text-xl",children:["Requests (",e.length,")"]}),s.jsx("button",{className:"px-3 py-1 bg-red-500 text-white rounded text-xs",onClick:n,children:"Clear All"})]}),s.jsxs("div",{className:"flex items-center bg-gray-200 p-2 border-b border-gray-300 text-sm font-bold",children:[s.jsx("div",{className:"w-16 text-center",children:"Status"}),s.jsx("div",{className:"w-20 text-center",children:"Method"}),s.jsx("div",{className:"flex-grow text-left",children:"URL"}),s.jsx("div",{className:"w-20 text-center",children:"Duration"}),s.jsx("div",{className:"w-10"})]}),s.jsx("ul",{className:"overflow-y-auto flex-grow",style:{maxHeight:"calc(100vh - 40px - 100px)"},children:e.map((o,i)=>{const c=o.id||i;return s.jsx(Se,{reqId:c,request:o,onSelect:t,onRemove:r,selected:a&&a.id===c},c)})})]}),ke=({request:e})=>{const t=r=>{if(!r)return"N/A";const n=new Date(r),a=n.toLocaleDateString("en-CA",{year:"numeric",month:"2-digit",day:"2-digit"}),o=n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1});return`${a} at ${o}`};return s.jsxs("div",{className:"mb-4 p-4 bg-white rounded shadow",children:[s.jsx("h2",{className:"font-bold text-lg mb-2",children:"Request Details"}),s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs("div",{className:"flex items-center space-x-2 font-mono text-lg",children:[s.jsx("span",{className:"font-bold",children:e.method}),s.jsx("span",{className:"text-blue-600",children:e.path}),s.jsx("span",{className:`inline-flex px-3 py-1 text-xs font-semibold rounded-full ${pe(e.response.statusCode)}`,children:e.response.statusCode}),s.jsx("span",{className:"text-sm",children:e.response.statusMessage})]}),s.jsx("div",{className:"text-gray-600",children:e.url}),s.jsxs("div",{className:"text-gray-500 text-xs",children:["Received on ",t(e.request.timestamp)," • Took ",e.latency,"ms to respond"]})]})]})};function Re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ie(Object(r),!0).forEach(function(n){Re(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ie(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Me(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,o;for(o=0;o<n.length;o++)a=n[o],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}function qe(e,t){if(e==null)return{};var r=Me(e,t),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Qe(e,t){return Le(e)||Be(e,t)||Ie(e,t)||ze()}function Le(e){if(Array.isArray(e))return e}function Be(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,a=!1,o=void 0;try{for(var i=e[Symbol.iterator](),c;!(n=(c=i.next()).done)&&(r.push(c.value),!(t&&r.length===t));n=!0);}catch(d){a=!0,o=d}finally{try{!n&&i.return!=null&&i.return()}finally{if(a)throw o}}return r}}function Ie(e,t){if(e){if(typeof e=="string")return ue(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ue(e,t)}}function ue(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ze(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
10
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function De(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?de(Object(r),!0).forEach(function(n){De(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):de(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Fe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(a,o){return o(a)},n)}}function U(e){return function t(){for(var r=this,n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return a.length>=e.length?e.apply(this,a):function(){for(var i=arguments.length,c=new Array(i),d=0;d<i;d++)c[d]=arguments[d];return t.apply(r,[].concat(a,c))}}}function ee(e){return{}.toString.call(e).includes("Object")}function Je(e){return!Object.keys(e).length}function G(e){return typeof e=="function"}function Te(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ve(e,t){return ee(t)||k("changeType"),Object.keys(t).some(function(r){return!Te(e,r)})&&k("changeField"),t}function Ze(e){G(e)||k("selectorType")}function He(e){G(e)||ee(e)||k("handlerType"),ee(e)&&Object.values(e).some(function(t){return!G(t)})&&k("handlersType")}function Ue(e){e||k("initialIsRequired"),ee(e)||k("initialType"),Je(e)&&k("initialContent")}function We(e,t){throw new Error(e[t]||e.default)}var Ge={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},k=U(We)(Ge),$={changes:Ve,selector:Ze,handler:He,initial:Ue};function Ke(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};$.initial(e),$.handler(t);var r={current:e},n=U($e)(r,t),a=U(Ye)(r),o=U($.changes)(e),i=U(Xe)(r);function c(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(v){return v};return $.selector(p),p(r.current)}function d(p){Fe(n,a,o,i)(p)}return[c,d]}function Xe(e,t){return G(t)?t(e.current):t}function Ye(e,t){return e.current=fe(fe({},e.current),t),t}function $e(e,t,r){return G(t)?t(e.current):Object.keys(r).forEach(function(n){var a;return(a=t[n])===null||a===void 0?void 0:a.call(t,e.current[n])}),r}var _e={create:Ke},et={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function tt(e){return function t(){for(var r=this,n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return a.length>=e.length?e.apply(this,a):function(){for(var i=arguments.length,c=new Array(i),d=0;d<i;d++)c[d]=arguments[d];return t.apply(r,[].concat(a,c))}}}function rt(e){return{}.toString.call(e).includes("Object")}function nt(e){return e||ge("configIsRequired"),rt(e)||ge("configType"),e.urls?(st(),{paths:{vs:e.urls.monacoBase}}):e}function st(){console.warn(he.deprecation)}function at(e,t){throw new Error(e[t]||e.default)}var he={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
11
|
+
You are using deprecated way of configuration.
|
|
12
|
+
|
|
13
|
+
Instead of using
|
|
14
|
+
monaco.config({ urls: { monacoBase: '...' } })
|
|
15
|
+
use
|
|
16
|
+
monaco.config({ paths: { vs: '...' } })
|
|
17
|
+
|
|
18
|
+
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
19
|
+
`},ge=tt(at)(he),ot={config:nt},lt=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(a,o){return o(a)},n)}};function me(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],me(e[r],t[r]))}),ce(ce({},e),t)}var it={type:"cancelation",msg:"operation is manually canceled"};function re(e){var t=!1,r=new Promise(function(n,a){e.then(function(o){return t?a(it):n(o)}),e.catch(a)});return r.cancel=function(){return t=!0},r}var ct=_e.create({config:et,isInitialized:!1,resolve:null,reject:null,monaco:null}),xe=Qe(ct,2),K=xe[0],te=xe[1];function ut(e){var t=ot.config(e),r=t.monaco,n=qe(t,["monaco"]);te(function(a){return{config:me(a.config,n),monaco:r}})}function dt(){var e=K(function(t){var r=t.monaco,n=t.isInitialized,a=t.resolve;return{monaco:r,isInitialized:n,resolve:a}});if(!e.isInitialized){if(te({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),re(ne);if(window.monaco&&window.monaco.editor)return be(window.monaco),e.resolve(window.monaco),re(ne);lt(ft,pt)(ht)}return re(ne)}function ft(e){return document.body.appendChild(e)}function gt(e){var t=document.createElement("script");return e&&(t.src=e),t}function pt(e){var t=K(function(n){var a=n.config,o=n.reject;return{config:a,reject:o}}),r=gt("".concat(t.config.paths.vs,"/loader.js"));return r.onload=function(){return e()},r.onerror=t.reject,r}function ht(){var e=K(function(r){var n=r.config,a=r.resolve,o=r.reject;return{config:n,resolve:a,reject:o}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){be(r),e.resolve(r)},function(r){e.reject(r)})}function be(e){K().monaco||te({monaco:e})}function mt(){return K(function(e){var t=e.monaco;return t})}var ne=new Promise(function(e,t){return te({resolve:e,reject:t})}),ye={config:ut,init:dt,__getMonacoInstance:mt},xt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},se=xt,bt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},yt=bt;function jt({children:e}){return F.createElement("div",{style:yt.container},e)}var vt=jt,At=vt;function wt({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:o,wrapperProps:i}){return F.createElement("section",{style:{...se.wrapper,width:e,height:t},...i},!r&&F.createElement(At,null,n),F.createElement("div",{ref:a,style:{...se.fullWidth,...!r&&se.hide},className:o}))}var Nt=wt,je=l.memo(Nt);function Ct(e){l.useEffect(e,[])}var ve=Ct;function Ot(e,t,r=!0){let n=l.useRef(!0);l.useEffect(n.current||!r?()=>{n.current=!1}:e,t)}var C=Ot;function W(){}function D(e,t,r,n){return Et(e,n)||St(e,t,r,n)}function Et(e,t){return e.editor.getModel(Ae(e,t))}function St(e,t,r,n){return e.editor.createModel(t,r,n?Ae(e,n):void 0)}function Ae(e,t){return e.Uri.parse(t)}function Pt({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:a,originalModelPath:o,modifiedModelPath:i,keepCurrentOriginalModel:c=!1,keepCurrentModifiedModel:d=!1,theme:p="light",loading:v="Loading...",options:w={},height:J="100%",width:O="100%",className:S,wrapperProps:P={},beforeMount:N=W,onMount:R=W}){let[b,T]=l.useState(!1),[Q,y]=l.useState(!0),j=l.useRef(null),x=l.useRef(null),V=l.useRef(null),A=l.useRef(R),g=l.useRef(N),L=l.useRef(!1);ve(()=>{let u=ye.init();return u.then(h=>(x.current=h)&&y(!1)).catch(h=>h?.type!=="cancelation"&&console.error("Monaco initialization: error:",h)),()=>j.current?Z():u.cancel()}),C(()=>{if(j.current&&x.current){let u=j.current.getOriginalEditor(),h=D(x.current,e||"",n||r||"text",o||"");h!==u.getModel()&&u.setModel(h)}},[o],b),C(()=>{if(j.current&&x.current){let u=j.current.getModifiedEditor(),h=D(x.current,t||"",a||r||"text",i||"");h!==u.getModel()&&u.setModel(h)}},[i],b),C(()=>{let u=j.current.getModifiedEditor();u.getOption(x.current.editor.EditorOption.readOnly)?u.setValue(t||""):t!==u.getValue()&&(u.executeEdits("",[{range:u.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),u.pushUndoStop())},[t],b),C(()=>{var u,h;(h=(u=j.current)==null?void 0:u.getModel())==null||h.original.setValue(e||"")},[e],b),C(()=>{let{original:u,modified:h}=j.current.getModel();x.current.editor.setModelLanguage(u,n||r||"text"),x.current.editor.setModelLanguage(h,a||r||"text")},[r,n,a],b),C(()=>{var u;(u=x.current)==null||u.editor.setTheme(p)},[p],b),C(()=>{var u;(u=j.current)==null||u.updateOptions(w)},[w],b);let X=l.useCallback(()=>{var u;if(!x.current)return;g.current(x.current);let h=D(x.current,e||"",n||r||"text",o||""),M=D(x.current,t||"",a||r||"text",i||"");(u=j.current)==null||u.setModel({original:h,modified:M})},[r,t,a,e,n,o,i]),Y=l.useCallback(()=>{var u;!L.current&&V.current&&(j.current=x.current.editor.createDiffEditor(V.current,{automaticLayout:!0,...w}),X(),(u=x.current)==null||u.editor.setTheme(p),T(!0),L.current=!0)},[w,p,X]);l.useEffect(()=>{b&&A.current(j.current,x.current)},[b]),l.useEffect(()=>{!Q&&!b&&Y()},[Q,b,Y]);function Z(){var u,h,M,B;let q=(u=j.current)==null?void 0:u.getModel();c||(h=q?.original)==null||h.dispose(),d||(M=q?.modified)==null||M.dispose(),(B=j.current)==null||B.dispose()}return F.createElement(je,{width:O,height:J,isEditorReady:b,loading:v,_ref:V,className:S,wrapperProps:P})}var kt=Pt;l.memo(kt);function Rt(e){let t=l.useRef();return l.useEffect(()=>{t.current=e},[e]),t.current}var Mt=Rt,_=new Map;function qt({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:a,path:o,theme:i="light",line:c,loading:d="Loading...",options:p={},overrideServices:v={},saveViewState:w=!0,keepCurrentModel:J=!1,width:O="100%",height:S="100%",className:P,wrapperProps:N={},beforeMount:R=W,onMount:b=W,onChange:T,onValidate:Q=W}){let[y,j]=l.useState(!1),[x,V]=l.useState(!0),A=l.useRef(null),g=l.useRef(null),L=l.useRef(null),X=l.useRef(b),Y=l.useRef(R),Z=l.useRef(),u=l.useRef(n),h=Mt(o),M=l.useRef(!1),B=l.useRef(!1);ve(()=>{let f=ye.init();return f.then(m=>(A.current=m)&&V(!1)).catch(m=>m?.type!=="cancelation"&&console.error("Monaco initialization: error:",m)),()=>g.current?Ne():f.cancel()}),C(()=>{var f,m,E,I;let z=D(A.current,e||n||"",t||a||"",o||r||"");z!==((f=g.current)==null?void 0:f.getModel())&&(w&&_.set(h,(m=g.current)==null?void 0:m.saveViewState()),(E=g.current)==null||E.setModel(z),w&&((I=g.current)==null||I.restoreViewState(_.get(o))))},[o],y),C(()=>{var f;(f=g.current)==null||f.updateOptions(p)},[p],y),C(()=>{!g.current||n===void 0||(g.current.getOption(A.current.editor.EditorOption.readOnly)?g.current.setValue(n):n!==g.current.getValue()&&(B.current=!0,g.current.executeEdits("",[{range:g.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),g.current.pushUndoStop(),B.current=!1))},[n],y),C(()=>{var f,m;let E=(f=g.current)==null?void 0:f.getModel();E&&a&&((m=A.current)==null||m.editor.setModelLanguage(E,a))},[a],y),C(()=>{var f;c!==void 0&&((f=g.current)==null||f.revealLine(c))},[c],y),C(()=>{var f;(f=A.current)==null||f.editor.setTheme(i)},[i],y);let q=l.useCallback(()=>{var f;if(!(!L.current||!A.current)&&!M.current){Y.current(A.current);let m=o||r,E=D(A.current,n||e||"",t||a||"",m||"");g.current=(f=A.current)==null?void 0:f.editor.create(L.current,{model:E,automaticLayout:!0,...p},v),w&&g.current.restoreViewState(_.get(m)),A.current.editor.setTheme(i),c!==void 0&&g.current.revealLine(c),j(!0),M.current=!0}},[e,t,r,n,a,o,p,v,w,i,c]);l.useEffect(()=>{y&&X.current(g.current,A.current)},[y]),l.useEffect(()=>{!x&&!y&&q()},[x,y,q]),u.current=n,l.useEffect(()=>{var f,m;y&&T&&((f=Z.current)==null||f.dispose(),Z.current=(m=g.current)==null?void 0:m.onDidChangeModelContent(E=>{B.current||T(g.current.getValue(),E)}))},[y,T]),l.useEffect(()=>{if(y){let f=A.current.editor.onDidChangeMarkers(m=>{var E;let I=(E=g.current.getModel())==null?void 0:E.uri;if(I&&m.find(z=>z.path===I.path)){let z=A.current.editor.getModelMarkers({resource:I});Q?.(z)}});return()=>{f?.dispose()}}return()=>{}},[y,Q]);function Ne(){var f,m;(f=Z.current)==null||f.dispose(),J?w&&_.set(o,g.current.saveViewState()):(m=g.current.getModel())==null||m.dispose(),g.current.dispose()}return F.createElement(je,{width:O,height:S,isEditorReady:y,loading:d,_ref:L,className:P,wrapperProps:N})}var Qt=qt,Lt=l.memo(Qt),we=Lt;const Bt=({request:e})=>{const[t,r]=l.useState(!1),[n,a]=l.useState(!1),o=p=>Object.entries(p||{}).map(([v,w])=>s.jsxs("tr",{children:[s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-slate-500 text-xs",children:v}),s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-xs",children:w})]},v)),i=e.request.payload,c=!i||typeof i=="object"&&Object.keys(i).length===0||typeof i=="string"&&(i.trim()===""||i.trim()==="{}"),d=p=>{try{const v=JSON.parse(p);return JSON.stringify(v,null,2)}catch{return p}};return s.jsxs("div",{children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>r(!t),children:["Query Parameters (",Object.keys(e.request.queryParams||{}).length,")"]}),t&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Key"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:o(e.request.queryParams)})]})})]}),s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>a(!n),children:["Headers (",Object.keys(e.request.headers||{}).length,")"]}),n&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Header"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:o(e.request.headers)})]})})]}),s.jsxs("div",{children:[s.jsx("button",{className:"w-full p-2 text-left font-bold bg-gray-200",children:"Request Body"}),c?s.jsx("div",{className:"hidden"}):s.jsx("div",{className:"bg-white rounded-b shadow p-0 h-100",children:s.jsx(we,{height:"100%",defaultLanguage:"json",value:d(i),options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0,fontFamily:'"Cascadia Code", "Jetbrains Mono", "Fira Code", "Menlo", "Consolas", monospace',tabSize:2,scrollBeyondLastLine:!1}})})]})]})},It=({request:e})=>{const[t,r]=l.useState(!1),n=c=>Object.entries(c||{}).map(([d,p])=>s.jsxs("tr",{children:[s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-slate-500 text-xs",children:d}),s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-xs",children:p})]},d)),a=e.response.payload,o=!a||typeof a=="object"&&Object.keys(a).length===0||typeof a=="string"&&(a.trim()===""||a.trim()==="{}"),i=c=>{try{const d=JSON.parse(c);return JSON.stringify(d,null,2)}catch{return c}};return s.jsxs("div",{children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>r(!t),children:["Headers (",Object.keys(e.response.headers||{}).length,")"]}),t&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Header"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:n(e.response.headers)})]})})]}),s.jsxs("div",{children:[s.jsx("button",{className:"w-full p-2 text-left font-bold bg-gray-200",children:"Response Body"}),o?s.jsx("div",{className:"hidden"}):s.jsx("div",{className:"bg-white rounded-b shadow p-0 h-100",children:s.jsx(we,{height:"100%",defaultLanguage:"json",value:i(a),options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0,fontFamily:'"Cascadia Code", "Jetbrains Mono", "Fira Code", "Menlo", "Consolas", monospace',tabSize:2,scrollBeyondLastLine:!1}})})]})]})},zt=({request:e,currentTab:t,setCurrentTab:r})=>e?s.jsxs("div",{children:[s.jsx(ke,{request:e}),s.jsxs("div",{className:"flex space-x-2",children:[s.jsx("button",{className:`px-4 py-2 rounded-t ${t==="request"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700"}`,onClick:()=>r("request"),children:"Request"}),s.jsx("button",{className:`px-4 py-2 rounded-t ${t==="response"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700"}`,onClick:()=>r("response"),children:"Response"})]}),s.jsx("div",{className:"p-4 bg-white rounded-b shadow",children:t==="request"?s.jsx(Bt,{request:e}):s.jsx(It,{request:e})})]}):s.jsx("div",{className:"text-gray-500",children:"No request selected."}),Dt="data:image/png;base64,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",Ft=({sseEndpoint:e,setSseEndpoint:t,isConnected:r})=>{const[n,a]=l.useState(!1),[o,i]=l.useState(e);l.useEffect(()=>{if(typeof window<"u"){const d=localStorage.getItem("sseEndpoint");!e&&d&&(i(d),t(d))}},[e,t]);const c=()=>{typeof window<"u"&&localStorage.setItem("sseEndpoint",o),t(o),a(!1)};return s.jsxs("div",{className:"fixed bottom-0 left-0 w-full",children:[s.jsxs("div",{className:"flex items-center justify-between bg-gray-200 px-4 py-2 w-full cursor-pointer select-none",onClick:()=>a(d=>!d),children:[s.jsx("div",{className:"flex items-center gap-4",children:s.jsxs("span",{className:`px-2 py-1 rounded-full text-xs font-semibold flex items-center ${r?"bg-green-500 text-white":"bg-red-500"}`,children:[s.jsx("span",{className:`w-2 h-2 rounded-full mr-1 ${r?"bg-green-800":"bg-red-800"}`}),r?"Connected":"Disconnected"]})}),s.jsxs("a",{href:"https://github.com/thim81/inspectr",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",children:[s.jsx("img",{src:Dt,alt:"Inspectr Logo",className:"h-6"}),s.jsx("span",{className:"text-gray-700 font-semibold text-sm",children:"Inspectr"})]})]}),s.jsx("div",{className:`bg-gray-100 border-t border-gray-300 transition-all duration-300 overflow-hidden ${n?"max-h-40 opacity-100 py-4":"max-h-0 opacity-0 py-0"}`,children:s.jsxs("div",{className:"px-6",children:[s.jsxs("div",{className:"grid grid-cols-2 gap-4 items-center",children:[s.jsx("div",{children:s.jsx("h2",{className:"text-lg font-semibold text-gray-800 mb-4",children:"Configuration"})}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("label",{className:"text-gray-700 font-semibold whitespace-nowrap",children:"SSE Endpoint:"}),s.jsx("input",{type:"text",value:o,onChange:d=>i(d.target.value),className:"border p-2 rounded flex-1 bg-white",placeholder:"Enter SSE Endpoint..."})]})]}),s.jsx("div",{className:"flex justify-end mt-4",children:s.jsx("button",{onClick:c,className:"bg-green-600 text-white px-4 py-2 rounded-md",children:"Apply"})})]})})]})},Tt=({sseEndpoint:e})=>{const[t,r]=l.useState([]),[n,a]=l.useState(null),[o,i]=l.useState("request"),[c,d]=l.useState("/api/sse"),[p,v]=l.useState(!1);l.useEffect(()=>{if(typeof window<"u"){const O=localStorage.getItem("sseEndpoint");!e&&O&&d(O)}},[c]),l.useEffect(()=>{const O=()=>`req-${Math.random().toString(36).substr(2,9)}`,S=new EventSource(c);return console.log(`Inspectr EventSource created with URL: ${c}`),S.onopen=()=>{console.log("SSE Inspectr connection opened"),v(!0)},S.onmessage=P=>{try{const N=JSON.parse(P.data);if(N.id||(N.id=O()),N!=null&&N.data){const R=N.data;R.id=N.id,r(b=>(b.length===0&&a(R),[R,...b]))}}catch(N){console.error("Error parsing SSE Inspectr data:",N)}},S.onerror=P=>{console.error("SSE Inspectr error:",P),v(!1)},()=>{console.log("Closing Inspectr EventSource"),S.close(),v(!1)}},[c]);const w=()=>{r([]),a(null)},J=O=>{r(S=>S.filter((P,N)=>P.id?P.id!==O:N!==O)),n&&(n.id||"")===O&&a(null)};return s.jsxs("div",{className:"flex flex-col h-screen",children:[s.jsxs("div",{className:"flex flex-grow",children:[s.jsx("div",{className:"w-1/3 border-r border-gray-300 overflow-y-auto",children:s.jsx(Pe,{requests:t,onSelect:a,onRemove:J,clearRequests:w,selectedRequest:n})}),s.jsx("div",{className:"w-2/3 p-4",children:s.jsx(zt,{request:n,currentTab:o,setCurrentTab:i})})]}),s.jsx(Ft,{sseEndpoint:c,setSseEndpoint:d,isConnected:p})]})};export{Tt as InspectrApp};
|
package/dist/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" data-astro-cid-sckkx6r4> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><link rel="icon" type="image/icon" href="/favicon.ico"><meta name="description" content="Inspectr – Simplifying API and Webhook debugging"><title>Inspectr</title><link rel="stylesheet" href="/_astro/index.xWp7ojmq.css"></head> <body data-astro-cid-sckkx6r4> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="ZxoFcm" prefix="r0" component-url="/_astro/ui.
|
|
1
|
+
<!DOCTYPE html><html lang="en" data-astro-cid-sckkx6r4> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><link rel="icon" type="image/icon" href="/favicon.ico"><meta name="description" content="Inspectr – Simplifying API and Webhook debugging"><title>Inspectr</title><link rel="stylesheet" href="/_astro/index.xWp7ojmq.css"></head> <body data-astro-cid-sckkx6r4> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="ZxoFcm" prefix="r0" component-url="/_astro/ui.BM85n9mr.js" component-export="InspectrApp" renderer-url="/_astro/client.WCY5ZO72.js" props="{}" ssr client="load" opts="{"name":"InspectrApp","value":true}" await-children><div class="flex flex-col h-screen"><div class="flex flex-grow"><div class="w-1/3 border-r border-gray-300 overflow-y-auto"><div class="flex flex-col h-full"><div class="p-4 flex justify-between items-center"><span class="font-bold text-xl">Requests (<!-- -->0<!-- -->)</span><button class="px-3 py-1 bg-red-500 text-white rounded text-xs">Clear All</button></div><div class="flex items-center bg-gray-200 p-2 border-b border-gray-300 text-sm font-bold"><div class="w-16 text-center">Status</div><div class="w-20 text-center">Method</div><div class="flex-grow text-left">URL</div><div class="w-20 text-center">Duration</div><div class="w-10"></div></div><ul class="overflow-y-auto flex-grow" style="max-height:calc(100vh - 40px - 100px)"></ul></div></div><div class="w-2/3 p-4"><div class="text-gray-500">No request selected.</div></div></div><div class="fixed bottom-0 left-0 w-full"><div class="flex items-center justify-between bg-gray-200 px-4 py-2 w-full cursor-pointer select-none"><div class="flex items-center gap-4"><span class="px-2 py-1 rounded-full text-xs font-semibold flex items-center bg-red-500"><span class="w-2 h-2 rounded-full mr-1 bg-red-800"></span>Disconnected</span></div><a href="https://github.com/thim81/inspectr" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2"><img src="data:image/png;base64,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" alt="Inspectr Logo" class="h-6"/><span class="text-gray-700 font-semibold text-sm">Inspectr</span></a></div><div class="bg-gray-100 border-t border-gray-300 transition-all duration-300 overflow-hidden max-h-0 opacity-0 py-0"><div class="px-6"><div class="grid grid-cols-2 gap-4 items-center"><div><h2 class="text-lg font-semibold text-gray-800 mb-4">Configuration</h2></div><div class="flex items-center gap-2"><label class="text-gray-700 font-semibold whitespace-nowrap">SSE Endpoint:</label><input type="text" class="border p-2 rounded flex-1 bg-white" placeholder="Enter SSE Endpoint..." value="/api/sse"/></div></div><div class="flex justify-end mt-4"><button class="bg-green-600 text-white px-4 py-2 rounded-md">Apply</button></div></div></div></div></div><!--astro:end--></astro-island> </body></html>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@inspectr/app",
|
|
3
3
|
"description": "Standalone Inspectr app for inspecting API requests & Webhook events.",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.2",
|
|
6
6
|
"author": "Tim Haselaars",
|
|
7
7
|
"homepage": "https://github.com/thim81/inspectr#readme",
|
|
8
8
|
"bugs": "https://github.com/thim81/inspectr-app/issues",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
18
|
"dev": "astro dev",
|
|
19
|
+
"watch": "node scripts/watch.js",
|
|
19
20
|
"build": "astro build",
|
|
20
21
|
"preview": "astro preview",
|
|
21
22
|
"astro": "astro",
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@astrojs/react": "^4.2.0",
|
|
38
39
|
"@tailwindcss/vite": "^4.0.6",
|
|
39
|
-
"@inspectr/ui": "^0.0.
|
|
40
|
+
"@inspectr/ui": "^0.0.9",
|
|
40
41
|
"@types/react": "^19.0.8",
|
|
41
42
|
"@types/react-dom": "^19.0.3",
|
|
42
43
|
"astro": "^5.3.0",
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{r as l,a as F}from"./index.uG8-tmmD.js";var oe={exports:{}},H={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var ae;function Ce(){if(ae)return H;ae=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,o,a){var i=null;if(a!==void 0&&(i=""+a),o.key!==void 0&&(i=""+o.key),"key"in o){a={};for(var c in o)c!=="key"&&(a[c]=o[c])}else a=o;return o=a.ref,{$$typeof:e,type:n,key:i,ref:o!==void 0?o:null,props:a}}return H.Fragment=t,H.jsx=r,H.jsxs=r,H}var le;function Oe(){return le||(le=1,oe.exports=Ce()),oe.exports}var s=Oe();const pe=e=>e>=200&&e<300?"bg-green-200 text-green-800":e>=300&&e<400?"bg-blue-200 text-blue-800":e>=400&&e<500?"bg-orange-600 text-orange-200":e>=500?"bg-red-800 text-red-100":"bg-gray-200 text-gray-800",Ee=["bg-blue-100","border-l-4","border-blue-700"].join(" "),Se=({request:e,reqId:t,onSelect:r,onRemove:n,selected:o})=>{const a=i=>{r(i)};return s.jsx("li",{className:`flex items-center cursor-pointer hover:bg-gray-200 ${o?Ee:""}`,onClick:()=>{a(e)},children:s.jsxs("div",{className:"flex items-center p-2 w-full",children:[s.jsx("div",{className:"w-16 flex justify-center",children:s.jsx("span",{className:`inline-flex px-3 py-1 text-xs font-semibold rounded-full ${pe(e.response.status)}`,children:e.response.status||"N/A"})}),s.jsx("div",{className:"w-20 text-center font-medium",children:e.request.method||"GET"}),s.jsx("div",{className:"flex-grow truncate text-left",children:e.endpoint||e.url}),s.jsxs("div",{className:"w-20 text-gray-500 text-center",children:[e.latency,"ms"]}),s.jsx("button",{className:"w-8 h-8 flex items-center justify-center text-red-500 hover:text-red-700",onClick:i=>{i.stopPropagation(),n(t)},children:"✕"})]})})},ke=({requests:e,onSelect:t,onRemove:r,clearRequests:n,selectedRequest:o})=>s.jsxs("div",{className:"flex flex-col h-full",children:[s.jsxs("div",{className:"p-4 flex justify-between items-center",children:[s.jsxs("span",{className:"font-bold text-xl",children:["Requests (",e.length,")"]}),s.jsx("button",{className:"px-3 py-1 bg-red-500 text-white rounded text-xs",onClick:n,children:"Clear All"})]}),s.jsxs("div",{className:"flex items-center bg-gray-200 p-2 border-b border-gray-300 text-sm font-bold",children:[s.jsx("div",{className:"w-16 text-center",children:"Status"}),s.jsx("div",{className:"w-20 text-center",children:"Method"}),s.jsx("div",{className:"flex-grow text-left",children:"URL"}),s.jsx("div",{className:"w-20 text-center",children:"Duration"}),s.jsx("div",{className:"w-10"})]}),s.jsx("ul",{className:"overflow-y-auto flex-grow",style:{maxHeight:"calc(100vh - 40px - 100px)"},children:e.map((a,i)=>{const c=a.id||i;return s.jsx(Se,{reqId:c,request:a,onSelect:t,onRemove:r,selected:o&&o.id===c},c)})})]}),Me=({request:e})=>{const t=r=>{if(!r)return"N/A";const n=new Date(r),o=n.toLocaleDateString("en-CA",{year:"numeric",month:"2-digit",day:"2-digit"}),a=n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1});return`${o} at ${a}`};return s.jsxs("div",{className:"mb-4 p-4 bg-white rounded shadow",children:[s.jsx("h2",{className:"font-bold text-lg mb-2",children:"Request Details"}),s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs("div",{className:"flex items-center space-x-2 font-mono text-lg",children:[s.jsx("span",{className:"font-bold",children:e.request.method}),s.jsx("span",{className:"text-blue-600",children:e.endpoint}),s.jsx("span",{className:`inline-flex px-3 py-1 text-xs font-semibold rounded-full ${pe(e.response.status)}`,children:e.response.status})]}),s.jsx("div",{className:"text-gray-600",children:e.url}),s.jsxs("div",{className:"text-gray-500 text-xs",children:["Received on ",t(e.timestamp)," • Took ",e.latency,"ms to respond"]})]})]})};function Re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ie(Object(r),!0).forEach(function(n){Re(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ie(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Pe(e,t){if(e==null)return{};var r={},n=Object.keys(e),o,a;for(a=0;a<n.length;a++)o=n[a],!(t.indexOf(o)>=0)&&(r[o]=e[o]);return r}function qe(e,t){if(e==null)return{};var r=Pe(e,t),n,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Qe(e,t){return Le(e)||Be(e,t)||De(e,t)||ze()}function Le(e){if(Array.isArray(e))return e}function Be(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,o=!1,a=void 0;try{for(var i=e[Symbol.iterator](),c;!(n=(c=i.next()).done)&&(r.push(c.value),!(t&&r.length===t));n=!0);}catch(d){o=!0,a=d}finally{try{!n&&i.return!=null&&i.return()}finally{if(o)throw a}}return r}}function De(e,t){if(e){if(typeof e=="string")return ue(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ue(e,t)}}function ue(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ze(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
10
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ie(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function de(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?de(Object(r),!0).forEach(function(n){Ie(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):de(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Fe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(o,a){return a(o)},n)}}function G(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return o.length>=e.length?e.apply(this,o):function(){for(var i=arguments.length,c=new Array(i),d=0;d<i;d++)c[d]=arguments[d];return t.apply(r,[].concat(o,c))}}}function ee(e){return{}.toString.call(e).includes("Object")}function Je(e){return!Object.keys(e).length}function U(e){return typeof e=="function"}function Te(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ve(e,t){return ee(t)||M("changeType"),Object.keys(t).some(function(r){return!Te(e,r)})&&M("changeField"),t}function Ze(e){U(e)||M("selectorType")}function He(e){U(e)||ee(e)||M("handlerType"),ee(e)&&Object.values(e).some(function(t){return!U(t)})&&M("handlersType")}function Ge(e){e||M("initialIsRequired"),ee(e)||M("initialType"),Je(e)&&M("initialContent")}function Ke(e,t){throw new Error(e[t]||e.default)}var Ue={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},M=G(Ke)(Ue),$={changes:Ve,selector:Ze,handler:He,initial:Ge};function We(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};$.initial(e),$.handler(t);var r={current:e},n=G($e)(r,t),o=G(Ye)(r),a=G($.changes)(e),i=G(Xe)(r);function c(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(j){return j};return $.selector(p),p(r.current)}function d(p){Fe(n,o,a,i)(p)}return[c,d]}function Xe(e,t){return U(t)?t(e.current):t}function Ye(e,t){return e.current=fe(fe({},e.current),t),t}function $e(e,t,r){return U(t)?t(e.current):Object.keys(r).forEach(function(n){var o;return(o=t[n])===null||o===void 0?void 0:o.call(t,e.current[n])}),r}var _e={create:We},et={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function tt(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return o.length>=e.length?e.apply(this,o):function(){for(var i=arguments.length,c=new Array(i),d=0;d<i;d++)c[d]=arguments[d];return t.apply(r,[].concat(o,c))}}}function rt(e){return{}.toString.call(e).includes("Object")}function nt(e){return e||ge("configIsRequired"),rt(e)||ge("configType"),e.urls?(st(),{paths:{vs:e.urls.monacoBase}}):e}function st(){console.warn(he.deprecation)}function ot(e,t){throw new Error(e[t]||e.default)}var he={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
11
|
-
You are using deprecated way of configuration.
|
|
12
|
-
|
|
13
|
-
Instead of using
|
|
14
|
-
monaco.config({ urls: { monacoBase: '...' } })
|
|
15
|
-
use
|
|
16
|
-
monaco.config({ paths: { vs: '...' } })
|
|
17
|
-
|
|
18
|
-
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
19
|
-
`},ge=tt(ot)(he),at={config:nt},lt=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(o,a){return a(o)},n)}};function me(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],me(e[r],t[r]))}),ce(ce({},e),t)}var it={type:"cancelation",msg:"operation is manually canceled"};function re(e){var t=!1,r=new Promise(function(n,o){e.then(function(a){return t?o(it):n(a)}),e.catch(o)});return r.cancel=function(){return t=!0},r}var ct=_e.create({config:et,isInitialized:!1,resolve:null,reject:null,monaco:null}),xe=Qe(ct,2),W=xe[0],te=xe[1];function ut(e){var t=at.config(e),r=t.monaco,n=qe(t,["monaco"]);te(function(o){return{config:me(o.config,n),monaco:r}})}function dt(){var e=W(function(t){var r=t.monaco,n=t.isInitialized,o=t.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!e.isInitialized){if(te({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),re(ne);if(window.monaco&&window.monaco.editor)return be(window.monaco),e.resolve(window.monaco),re(ne);lt(ft,pt)(ht)}return re(ne)}function ft(e){return document.body.appendChild(e)}function gt(e){var t=document.createElement("script");return e&&(t.src=e),t}function pt(e){var t=W(function(n){var o=n.config,a=n.reject;return{config:o,reject:a}}),r=gt("".concat(t.config.paths.vs,"/loader.js"));return r.onload=function(){return e()},r.onerror=t.reject,r}function ht(){var e=W(function(r){var n=r.config,o=r.resolve,a=r.reject;return{config:n,resolve:o,reject:a}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){be(r),e.resolve(r)},function(r){e.reject(r)})}function be(e){W().monaco||te({monaco:e})}function mt(){return W(function(e){var t=e.monaco;return t})}var ne=new Promise(function(e,t){return te({resolve:e,reject:t})}),ye={config:ut,init:dt,__getMonacoInstance:mt},xt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},se=xt,bt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},yt=bt;function jt({children:e}){return F.createElement("div",{style:yt.container},e)}var vt=jt,At=vt;function wt({width:e,height:t,isEditorReady:r,loading:n,_ref:o,className:a,wrapperProps:i}){return F.createElement("section",{style:{...se.wrapper,width:e,height:t},...i},!r&&F.createElement(At,null,n),F.createElement("div",{ref:o,style:{...se.fullWidth,...!r&&se.hide},className:a}))}var Nt=wt,je=l.memo(Nt);function Ct(e){l.useEffect(e,[])}var ve=Ct;function Ot(e,t,r=!0){let n=l.useRef(!0);l.useEffect(n.current||!r?()=>{n.current=!1}:e,t)}var N=Ot;function K(){}function I(e,t,r,n){return Et(e,n)||St(e,t,r,n)}function Et(e,t){return e.editor.getModel(Ae(e,t))}function St(e,t,r,n){return e.editor.createModel(t,r,n?Ae(e,n):void 0)}function Ae(e,t){return e.Uri.parse(t)}function kt({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:a,modifiedModelPath:i,keepCurrentOriginalModel:c=!1,keepCurrentModifiedModel:d=!1,theme:p="light",loading:j="Loading...",options:A={},height:J="100%",width:C="100%",className:S,wrapperProps:k={},beforeMount:O=K,onMount:q=K}){let[w,T]=l.useState(!1),[Q,b]=l.useState(!0),y=l.useRef(null),x=l.useRef(null),V=l.useRef(null),v=l.useRef(q),g=l.useRef(O),L=l.useRef(!1);ve(()=>{let u=ye.init();return u.then(h=>(x.current=h)&&b(!1)).catch(h=>h?.type!=="cancelation"&&console.error("Monaco initialization: error:",h)),()=>y.current?Z():u.cancel()}),N(()=>{if(y.current&&x.current){let u=y.current.getOriginalEditor(),h=I(x.current,e||"",n||r||"text",a||"");h!==u.getModel()&&u.setModel(h)}},[a],w),N(()=>{if(y.current&&x.current){let u=y.current.getModifiedEditor(),h=I(x.current,t||"",o||r||"text",i||"");h!==u.getModel()&&u.setModel(h)}},[i],w),N(()=>{let u=y.current.getModifiedEditor();u.getOption(x.current.editor.EditorOption.readOnly)?u.setValue(t||""):t!==u.getValue()&&(u.executeEdits("",[{range:u.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),u.pushUndoStop())},[t],w),N(()=>{var u,h;(h=(u=y.current)==null?void 0:u.getModel())==null||h.original.setValue(e||"")},[e],w),N(()=>{let{original:u,modified:h}=y.current.getModel();x.current.editor.setModelLanguage(u,n||r||"text"),x.current.editor.setModelLanguage(h,o||r||"text")},[r,n,o],w),N(()=>{var u;(u=x.current)==null||u.editor.setTheme(p)},[p],w),N(()=>{var u;(u=y.current)==null||u.updateOptions(A)},[A],w);let X=l.useCallback(()=>{var u;if(!x.current)return;g.current(x.current);let h=I(x.current,e||"",n||r||"text",a||""),R=I(x.current,t||"",o||r||"text",i||"");(u=y.current)==null||u.setModel({original:h,modified:R})},[r,t,o,e,n,a,i]),Y=l.useCallback(()=>{var u;!L.current&&V.current&&(y.current=x.current.editor.createDiffEditor(V.current,{automaticLayout:!0,...A}),X(),(u=x.current)==null||u.editor.setTheme(p),T(!0),L.current=!0)},[A,p,X]);l.useEffect(()=>{w&&v.current(y.current,x.current)},[w]),l.useEffect(()=>{!Q&&!w&&Y()},[Q,w,Y]);function Z(){var u,h,R,B;let P=(u=y.current)==null?void 0:u.getModel();c||(h=P?.original)==null||h.dispose(),d||(R=P?.modified)==null||R.dispose(),(B=y.current)==null||B.dispose()}return F.createElement(je,{width:C,height:J,isEditorReady:w,loading:j,_ref:V,className:S,wrapperProps:k})}var Mt=kt;l.memo(Mt);function Rt(e){let t=l.useRef();return l.useEffect(()=>{t.current=e},[e]),t.current}var Pt=Rt,_=new Map;function qt({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:o,path:a,theme:i="light",line:c,loading:d="Loading...",options:p={},overrideServices:j={},saveViewState:A=!0,keepCurrentModel:J=!1,width:C="100%",height:S="100%",className:k,wrapperProps:O={},beforeMount:q=K,onMount:w=K,onChange:T,onValidate:Q=K}){let[b,y]=l.useState(!1),[x,V]=l.useState(!0),v=l.useRef(null),g=l.useRef(null),L=l.useRef(null),X=l.useRef(w),Y=l.useRef(q),Z=l.useRef(),u=l.useRef(n),h=Pt(a),R=l.useRef(!1),B=l.useRef(!1);ve(()=>{let f=ye.init();return f.then(m=>(v.current=m)&&V(!1)).catch(m=>m?.type!=="cancelation"&&console.error("Monaco initialization: error:",m)),()=>g.current?Ne():f.cancel()}),N(()=>{var f,m,E,D;let z=I(v.current,e||n||"",t||o||"",a||r||"");z!==((f=g.current)==null?void 0:f.getModel())&&(A&&_.set(h,(m=g.current)==null?void 0:m.saveViewState()),(E=g.current)==null||E.setModel(z),A&&((D=g.current)==null||D.restoreViewState(_.get(a))))},[a],b),N(()=>{var f;(f=g.current)==null||f.updateOptions(p)},[p],b),N(()=>{!g.current||n===void 0||(g.current.getOption(v.current.editor.EditorOption.readOnly)?g.current.setValue(n):n!==g.current.getValue()&&(B.current=!0,g.current.executeEdits("",[{range:g.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),g.current.pushUndoStop(),B.current=!1))},[n],b),N(()=>{var f,m;let E=(f=g.current)==null?void 0:f.getModel();E&&o&&((m=v.current)==null||m.editor.setModelLanguage(E,o))},[o],b),N(()=>{var f;c!==void 0&&((f=g.current)==null||f.revealLine(c))},[c],b),N(()=>{var f;(f=v.current)==null||f.editor.setTheme(i)},[i],b);let P=l.useCallback(()=>{var f;if(!(!L.current||!v.current)&&!R.current){Y.current(v.current);let m=a||r,E=I(v.current,n||e||"",t||o||"",m||"");g.current=(f=v.current)==null?void 0:f.editor.create(L.current,{model:E,automaticLayout:!0,...p},j),A&&g.current.restoreViewState(_.get(m)),v.current.editor.setTheme(i),c!==void 0&&g.current.revealLine(c),y(!0),R.current=!0}},[e,t,r,n,o,a,p,j,A,i,c]);l.useEffect(()=>{b&&X.current(g.current,v.current)},[b]),l.useEffect(()=>{!x&&!b&&P()},[x,b,P]),u.current=n,l.useEffect(()=>{var f,m;b&&T&&((f=Z.current)==null||f.dispose(),Z.current=(m=g.current)==null?void 0:m.onDidChangeModelContent(E=>{B.current||T(g.current.getValue(),E)}))},[b,T]),l.useEffect(()=>{if(b){let f=v.current.editor.onDidChangeMarkers(m=>{var E;let D=(E=g.current.getModel())==null?void 0:E.uri;if(D&&m.find(z=>z.path===D.path)){let z=v.current.editor.getModelMarkers({resource:D});Q?.(z)}});return()=>{f?.dispose()}}return()=>{}},[b,Q]);function Ne(){var f,m;(f=Z.current)==null||f.dispose(),J?A&&_.set(a,g.current.saveViewState()):(m=g.current.getModel())==null||m.dispose(),g.current.dispose()}return F.createElement(je,{width:C,height:S,isEditorReady:b,loading:d,_ref:L,className:k,wrapperProps:O})}var Qt=qt,Lt=l.memo(Qt),we=Lt;const Bt=({request:e})=>{const[t,r]=l.useState(!1),[n,o]=l.useState(!1),a=p=>Object.entries(p||{}).map(([j,A])=>s.jsxs("tr",{children:[s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-slate-500 text-xs",children:j}),s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-xs",children:A})]},j)),i=e.request.payload,c=!i||typeof i=="object"&&Object.keys(i).length===0||typeof i=="string"&&(i.trim()===""||i.trim()==="{}"),d=p=>{try{const j=JSON.parse(p);return JSON.stringify(j,null,2)}catch{return p}};return s.jsxs("div",{children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>r(!t),children:["Query Parameters (",Object.keys(e.request.queryParams||{}).length,")"]}),t&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Key"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:a(e.request.queryParams)})]})})]}),s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>o(!n),children:["Headers (",Object.keys(e.request.headers||{}).length,")"]}),n&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Header"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:a(e.request.headers)})]})})]}),s.jsxs("div",{children:[s.jsx("button",{className:"w-full p-2 text-left font-bold bg-gray-200",children:"Request Body"}),c?s.jsx("div",{className:"hidden"}):s.jsx("div",{className:"bg-white rounded-b shadow p-0 h-100",children:s.jsx(we,{height:"100%",defaultLanguage:"json",value:d(i),options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0,fontFamily:'"Cascadia Code", "Jetbrains Mono", "Fira Code", "Menlo", "Consolas", monospace',tabSize:2,scrollBeyondLastLine:!1}})})]})]})},Dt=({request:e})=>{const[t,r]=l.useState(!1),n=c=>Object.entries(c||{}).map(([d,p])=>s.jsxs("tr",{children:[s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-slate-500 text-xs",children:d}),s.jsx("td",{className:"border border-slate-200 px-2 py-1 font-mono text-xs",children:p})]},d)),o=e.response.payload,a=!o||typeof o=="object"&&Object.keys(o).length===0||typeof o=="string"&&(o.trim()===""||o.trim()==="{}"),i=c=>{try{const d=JSON.parse(c);return JSON.stringify(d,null,2)}catch{return c}};return s.jsxs("div",{children:[s.jsxs("div",{className:"mb-4",children:[s.jsxs("button",{className:"w-full p-2 text-left font-bold bg-gray-200",onClick:()=>r(!t),children:["Headers (",Object.keys(e.response.headers||{}).length,")"]}),t&&s.jsx("div",{className:"p-0",children:s.jsxs("table",{className:"w-full border-collapse border border-gray-300",children:[s.jsx("thead",{children:s.jsxs("tr",{className:"bg-gray-100",children:[s.jsx("th",{className:"border border-slate-200 px-2 py-1 w-1/4 text-left",children:"Header"}),s.jsx("th",{className:"border border-slate-200 px-2 py-1 text-left",children:"Value"})]})}),s.jsx("tbody",{children:n(e.response.headers)})]})})]}),s.jsxs("div",{children:[s.jsx("button",{className:"w-full p-2 text-left font-bold bg-gray-200",children:"Response Body"}),a?s.jsx("div",{className:"hidden"}):s.jsx("div",{className:"bg-white rounded-b shadow p-0 h-100",children:s.jsx(we,{height:"100%",defaultLanguage:"json",value:i(o),options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0,fontFamily:'"Cascadia Code", "Jetbrains Mono", "Fira Code", "Menlo", "Consolas", monospace',tabSize:2,scrollBeyondLastLine:!1}})})]})]})},zt=({request:e,currentTab:t,setCurrentTab:r})=>e?s.jsxs("div",{children:[s.jsx(Me,{request:e}),s.jsxs("div",{className:"flex space-x-2",children:[s.jsx("button",{className:`px-4 py-2 rounded-t ${t==="request"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700"}`,onClick:()=>r("request"),children:"Request"}),s.jsx("button",{className:`px-4 py-2 rounded-t ${t==="response"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700"}`,onClick:()=>r("response"),children:"Response"})]}),s.jsx("div",{className:"p-4 bg-white rounded-b shadow",children:t==="request"?s.jsx(Bt,{request:e}):s.jsx(Dt,{request:e})})]}):s.jsx("div",{className:"text-gray-500",children:"No request selected."}),It="data:image/png;base64,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",Ft=({sseEndpoint:e,setSseEndpoint:t,isConnected:r})=>{const[n,o]=l.useState(!1),[a,i]=l.useState(e);l.useEffect(()=>{if(typeof window<"u"){const d=localStorage.getItem("sseEndpoint");!e&&d&&(i(d),t(d))}},[e,t]);const c=()=>{typeof window<"u"&&localStorage.setItem("sseEndpoint",a),t(a),o(!1)};return s.jsxs("div",{className:"fixed bottom-0 left-0 w-full",children:[s.jsxs("div",{className:"flex items-center justify-between bg-gray-200 px-4 py-2 w-full cursor-pointer select-none",onClick:()=>o(d=>!d),children:[s.jsx("div",{className:"flex items-center gap-4",children:s.jsxs("span",{className:`px-2 py-1 rounded-full text-xs font-semibold flex items-center ${r?"bg-green-500":"bg-red-500"}`,children:[s.jsx("span",{className:`w-2 h-2 rounded-full mr-1 ${r?"bg-green-800":"bg-red-800"}`}),r?"Connected":"Disconnected"]})}),s.jsxs("a",{href:"https://github.com/thim81/inspectr",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",children:[s.jsx("img",{src:It,alt:"Inspectr Logo",className:"h-6"}),s.jsx("span",{className:"text-gray-700 font-semibold text-sm",children:"Inspectr"})]})]}),s.jsx("div",{className:`bg-gray-100 border-t border-gray-300 transition-all duration-300 overflow-hidden ${n?"max-h-40 opacity-100 py-4":"max-h-0 opacity-0 py-0"}`,children:s.jsxs("div",{className:"px-6",children:[s.jsxs("div",{className:"grid grid-cols-2 gap-4 items-center",children:[s.jsx("div",{children:s.jsx("h2",{className:"text-lg font-semibold text-gray-800 mb-4",children:"Configuration"})}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("label",{className:"text-gray-700 font-semibold whitespace-nowrap",children:"SSE Endpoint:"}),s.jsx("input",{type:"text",value:a,onChange:d=>i(d.target.value),className:"border p-2 rounded flex-1 bg-white",placeholder:"Enter SSE Endpoint..."})]})]}),s.jsx("div",{className:"flex justify-end mt-4",children:s.jsx("button",{onClick:c,className:"bg-green-600 text-white px-4 py-2 rounded-md",children:"Apply"})})]})})]})},Tt=({sseEndpoint:e})=>{const[t,r]=l.useState([]),[n,o]=l.useState(null),[a,i]=l.useState("request"),[c,d]=l.useState("/api/sse"),[p,j]=l.useState(!1);l.useEffect(()=>{if(typeof window<"u"){const C=localStorage.getItem("sseEndpoint");!e&&C&&d(C)}},[c]),l.useEffect(()=>{const C=()=>`req-${Math.random().toString(36).substr(2,9)}`,S=new EventSource(c);return console.log(`EventSource created with URL: ${c}`),S.onopen=()=>{console.log("SSE connection opened"),j(!0)},S.onmessage=k=>{try{const O=JSON.parse(k.data);O.id||(O.id=C()),r(q=>(q.length===0&&o(O),[O,...q]))}catch(O){console.error("Error parsing SSE data:",O)}},S.onerror=k=>{console.error("SSE error:",k),j(!1)},()=>{console.log("Closing EventSource"),S.close(),j(!1)}},[c]);const A=()=>{r([]),o(null)},J=C=>{r(S=>S.filter((k,O)=>k.id?k.id!==C:O!==C)),n&&(n.id||"")===C&&o(null)};return s.jsxs("div",{className:"flex flex-col h-screen",children:[s.jsxs("div",{className:"flex flex-grow",children:[s.jsx("div",{className:"w-1/3 border-r border-gray-300 overflow-y-auto",children:s.jsx(ke,{requests:t,onSelect:o,onRemove:J,clearRequests:A,selectedRequest:n})}),s.jsx("div",{className:"w-2/3 p-4",children:s.jsx(zt,{request:n,currentTab:a,setCurrentTab:i})})]}),s.jsx(Ft,{sseEndpoint:c,setSseEndpoint:d,isConnected:p})]})};export{Tt as InspectrApp};
|