@midscene/visualizer 0.0.1 → 0.1.1

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 (65) hide show
  1. package/dist/es/component/assets/logo-plain.js +128 -0
  2. package/dist/es/component/assets/logo-plain2.js +128 -0
  3. package/dist/es/component/blackboard.js +5 -1
  4. package/dist/es/component/detail-panel.js +2 -2
  5. package/dist/es/component/detail-side.css +3 -2
  6. package/dist/es/component/detail-side.js +14 -5
  7. package/dist/es/component/global-hover-preview.css +1 -1
  8. package/dist/es/component/global-hover-preview.js +6 -1
  9. package/dist/es/component/sidebar.css +2 -1
  10. package/dist/es/component/sidebar.js +19 -12
  11. package/dist/es/component/store.js +7 -6
  12. package/dist/es/component/timeline.js +2 -2
  13. package/dist/es/index.css +14 -9
  14. package/dist/es/index.js +33 -7
  15. package/dist/lib/component/assets/logo-plain.js +156 -0
  16. package/dist/lib/component/assets/logo-plain2.js +156 -0
  17. package/dist/lib/component/blackboard.js +5 -1
  18. package/dist/lib/component/detail-panel.js +2 -2
  19. package/dist/lib/component/detail-side.css +3 -2
  20. package/dist/lib/component/detail-side.js +14 -5
  21. package/dist/lib/component/global-hover-preview.css +1 -1
  22. package/dist/lib/component/global-hover-preview.js +6 -1
  23. package/dist/lib/component/sidebar.css +2 -1
  24. package/dist/lib/component/sidebar.js +19 -12
  25. package/dist/lib/component/store.js +7 -6
  26. package/dist/lib/component/timeline.js +2 -2
  27. package/dist/lib/index.css +14 -9
  28. package/dist/lib/index.js +37 -7
  29. package/dist/types/component/sidebar.d.ts +4 -1
  30. package/dist/types/component/store.d.ts +2 -1
  31. package/dist/types/index.d.ts +7 -2
  32. package/package.json +9 -4
  33. package/.eslintrc.js +0 -9
  34. package/dist/es/assets/logo-plain.16842bbc.svg +0 -70
  35. package/dist/es/assets/logo-plain2.16842bbc.svg +0 -70
  36. package/dist/lib/assets/logo-plain.16842bbc.svg +0 -70
  37. package/dist/lib/assets/logo-plain2.16842bbc.svg +0 -70
  38. package/docs/index.tsx +0 -6
  39. package/modern.config.ts +0 -15
  40. package/src/component/assets/logo-plain.svg +0 -70
  41. package/src/component/assets/logo-plain2.svg +0 -70
  42. package/src/component/blackboard.less +0 -37
  43. package/src/component/blackboard.tsx +0 -293
  44. package/src/component/color.tsx +0 -34
  45. package/src/component/common.less +0 -21
  46. package/src/component/detail-panel.less +0 -47
  47. package/src/component/detail-panel.tsx +0 -124
  48. package/src/component/detail-side.less +0 -131
  49. package/src/component/detail-side.tsx +0 -361
  50. package/src/component/global-hover-preview.less +0 -23
  51. package/src/component/global-hover-preview.tsx +0 -50
  52. package/src/component/misc.tsx +0 -20
  53. package/src/component/panel-title.less +0 -11
  54. package/src/component/panel-title.tsx +0 -11
  55. package/src/component/side-item.tsx +0 -0
  56. package/src/component/sidebar.less +0 -122
  57. package/src/component/sidebar.tsx +0 -205
  58. package/src/component/store.tsx +0 -151
  59. package/src/component/timeline.less +0 -25
  60. package/src/component/timeline.tsx +0 -486
  61. package/src/global.d.ts +0 -11
  62. package/src/index.less +0 -113
  63. package/src/index.tsx +0 -210
  64. package/src/utils.ts +0 -58
  65. package/tsconfig.json +0 -24
package/dist/es/index.js CHANGED
@@ -25,19 +25,24 @@ import { Helmet } from "@modern-js/runtime/head";
25
25
  import { Panel, PanelGroup, PanelResizeHandle } from "react-resizable-panels";
26
26
  import Timeline from "./component/timeline";
27
27
  import DetailPanel from "./component/detail-panel";
28
- import logo from "./assets/logo-plain.16842bbc.svg";
28
+ import Logo from "./component/assets/logo-plain.js";
29
29
  import GlobalHoverPreview from "./component/global-hover-preview";
30
30
  import { useExecutionDump } from "./component/store";
31
31
  import DetailSide from "./component/detail-side";
32
32
  import Sidebar from "./component/sidebar";
33
33
  const { Dragger } = Upload;
34
- const Index = () => {
34
+ let globalRenderCount = 1;
35
+ function Visualizer(props) {
36
+ const { dump } = props;
35
37
  const executionDump = useExecutionDump((store) => store.dump);
36
38
  const setGroupedDump = useExecutionDump((store) => store.setGroupedDump);
37
39
  const reset = useExecutionDump((store) => store.reset);
38
40
  const [mainLayoutChangeFlag, setMainLayoutChangeFlag] = useState(0);
39
41
  const mainLayoutChangedRef = useRef(false);
40
42
  useEffect(() => {
43
+ if (dump) {
44
+ setGroupedDump(dump);
45
+ }
41
46
  return () => {
42
47
  reset();
43
48
  };
@@ -91,7 +96,7 @@ const Index = () => {
91
96
  if (!executionDump) {
92
97
  mainContent = /* @__PURE__ */ jsxs("div", { className: "main-right uploader-wrapper", children: [
93
98
  /* @__PURE__ */ jsxs(Dragger, __spreadProps(__spreadValues({ className: "uploader" }, uploadProps), { children: [
94
- /* @__PURE__ */ jsx("p", { className: "ant-upload-drag-icon", children: /* @__PURE__ */ jsx("img", { src: logo, alt: "Logo", style: { width: 100, height: 100, margin: "auto" } }) }),
99
+ /* @__PURE__ */ jsx("p", { className: "ant-upload-drag-icon", children: /* @__PURE__ */ jsx(Logo, { style: { width: 100, height: 100, margin: "auto" } }) }),
95
100
  /* @__PURE__ */ jsxs("p", { className: "ant-upload-text", children: [
96
101
  "Click or drag the",
97
102
  " ",
@@ -123,7 +128,7 @@ const Index = () => {
123
128
  }
124
129
  },
125
130
  children: [
126
- /* @__PURE__ */ jsx(Panel, { maxSize: 95, children: /* @__PURE__ */ jsx(Sidebar, {}) }),
131
+ /* @__PURE__ */ jsx(Panel, { maxSize: 95, defaultSize: 20, children: /* @__PURE__ */ jsx(Sidebar, { hideLogo: props == null ? void 0 : props.hideLogo, logoAction: props == null ? void 0 : props.logoAction }) }),
127
132
  /* @__PURE__ */ jsx(
128
133
  PanelResizeHandle,
129
134
  {
@@ -147,6 +152,26 @@ const Index = () => {
147
152
  }
148
153
  );
149
154
  }
155
+ const [containerHeight, setContainerHeight] = useState("100%");
156
+ useEffect(() => {
157
+ const ifInRspressPage = document.querySelector(".rspress-nav");
158
+ const navHeightKey = "--rp-nav-height";
159
+ const originalNavHeight = getComputedStyle(document.documentElement).getPropertyValue(navHeightKey);
160
+ if (ifInRspressPage) {
161
+ setContainerHeight("calc(100vh - 72px)");
162
+ document.documentElement.style.setProperty(navHeightKey, "42px");
163
+ }
164
+ return () => {
165
+ if (ifInRspressPage) {
166
+ document.documentElement.style.setProperty(navHeightKey, originalNavHeight);
167
+ }
168
+ };
169
+ }, []);
170
+ useEffect(() => {
171
+ return () => {
172
+ globalRenderCount += 1;
173
+ };
174
+ }, []);
150
175
  return /* @__PURE__ */ jsxs(
151
176
  ConfigProvider,
152
177
  {
@@ -162,13 +187,14 @@ const Index = () => {
162
187
  },
163
188
  children: [
164
189
  /* @__PURE__ */ jsx(Helmet, { children: /* @__PURE__ */ jsx("title", { children: "MidScene.js - Visualization Tool" }) }),
165
- /* @__PURE__ */ jsx("div", { className: "page-container", children: mainContent }),
190
+ /* @__PURE__ */ jsx("div", { className: "page-container", style: { height: containerHeight }, children: mainContent }, `render-${globalRenderCount}`),
166
191
  /* @__PURE__ */ jsx(GlobalHoverPreview, {})
167
192
  ]
168
193
  }
169
194
  );
170
- };
171
- var src_default = Index;
195
+ }
196
+ var src_default = Visualizer;
172
197
  export {
198
+ Visualizer,
173
199
  src_default as default
174
200
  };
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
+ var logo_plain_exports = {};
47
+ __export(logo_plain_exports, {
48
+ default: () => logo_plain_default
49
+ });
50
+ module.exports = __toCommonJS(logo_plain_exports);
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ var React = __toESM(require("react"));
53
+ const SvgLogoPlain = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", __spreadProps(__spreadValues({ xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", xmlSpace: "preserve", width: 535.041, height: 203.6, style: {
54
+ shapeRendering: "geometricPrecision",
55
+ textRendering: "geometricPrecision",
56
+ imageRendering: "optimizeQuality",
57
+ fillRule: "evenodd",
58
+ clipRule: "evenodd"
59
+ }, viewBox: "0 0 16897.65 6430.11" }, props), { children: [
60
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("defs", { children: [
61
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain_svg__id0", x1: 11103.21, x2: 10930.41, y1: 5027.34, y2: 1211.98, gradientUnits: "userSpaceOnUse", children: [
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
63
+ stopOpacity: 1,
64
+ stopColor: "#0a77d4"
65
+ } }),
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
67
+ stopOpacity: 1,
68
+ stopColor: "#00b1e0"
69
+ } })
70
+ ] }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("linearGradient", { xlinkHref: "#logo-plain_svg__id0", id: "logo-plain_svg__id1", x1: 11407.32, x2: 11286.4, y1: 5023.83, y2: 1215.5, gradientUnits: "userSpaceOnUse" }),
72
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain_svg__id2", x1: 6311.87, x2: 3547.5, y1: 4699.25, y2: 1677.39, gradientUnits: "userSpaceOnUse", children: [
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
74
+ stopOpacity: 1,
75
+ stopColor: "#f65926"
76
+ } }),
77
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
78
+ stopOpacity: 1,
79
+ stopColor: "#f0ab1f"
80
+ } })
81
+ ] }),
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain_svg__id3", x1: 3105.35, x2: 2612.67, y1: 5075.61, y2: 1311.04, gradientUnits: "userSpaceOnUse", children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
84
+ stopOpacity: 1,
85
+ stopColor: "#e52652"
86
+ } }),
87
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
88
+ stopOpacity: 1,
89
+ stopColor: "#ff4956"
90
+ } })
91
+ ] }),
92
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain_svg__id4", x1: 14599.77, x2: 12e3, y1: 4808.34, y2: 1573.25, gradientUnits: "userSpaceOnUse", children: [
93
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
94
+ stopOpacity: 1,
95
+ stopColor: "#02c0a7"
96
+ } }),
97
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
98
+ stopOpacity: 1,
99
+ stopColor: "#02e097"
100
+ } })
101
+ ] }),
102
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { children: ".logo-plain_svg__fil8{fill:#fefefe}" })
103
+ ] }),
104
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { id: "logo-plain_svg__\\u56FE\\u5C42_x0020_1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { id: "logo-plain_svg___1978240863120", children: [
105
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2921.92 814.37h2943.46c660.05 0 1200.11 540.04 1200.11 1200.11v669.56c-180.23 1562.84-842.69 2686.31-2539.2 2867.65h-656.9c-1403.42-112.59-2125.37-923.3-2147.58-2450.77V2014.48c0-660.07 540.04-1200.11 1200.11-1200.11z", style: {
106
+ fill: "none",
107
+ stroke: "#e62129",
108
+ strokeWidth: 23.87,
109
+ strokeMiterlimit: 22.9256
110
+ } }),
111
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M908.05 649.1c172.38 0 312.1 139.73 312.1 312.1 0 172.38-139.73 312.1-312.1 312.1-172.38 0-312.1-139.73-312.1-312.1 0-172.38 139.73-312.1 312.1-312.1zm15081.56 0c-172.38 0-312.1 139.73-312.1 312.1 0 172.38 139.73 312.1 312.1 312.1 172.38 0 312.1-139.73 312.1-312.1 0-172.38-139.73-312.1-312.1-312.1zM16304.76.03H11565.2c-332.34-.73-635.61 30.83-892.17 114.33-1164.61 314.95-1684.86 539.69-2204.5 542.55-529.24 2.92-1057.71-221.77-2243.89-542.55C5968.08 30.86 5664.81-.7 5332.47.03H592.91C266.8.03.01 266.82.01 592.93v727.65c0 326.11 262.25 574.15 588.16 562.9 244.44-8.44 379.43 161.6 368.56 407.41v1401.3c844.04 3884.05 6459.63 3705.54 6872.25-983.68 37.55-479.97 225.37-745.7 619.85-795.03 394.48 49.33 582.3 315.06 619.85 795.03 221.1 2512.67 1570.99 3564.6 3624.76 3705.62 1575.25-121.99 2822.57-766.6 3247.49-2721.94v-1401.3c-10.86-245.81 124.13-415.84 368.56-407.41 325.91 11.24 588.16-236.8 588.16-562.9V592.93c0-326.11-266.79-592.9-592.9-592.9z", style: {
112
+ fill: "#332c2b"
113
+ } }),
114
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4404.53 5551.69h138.96c1696.5-181.34 2358.97-1304.82 2539.2-2867.65v-669.56c0-660.07-540.06-1200.11-1200.11-1200.11H2939.12c-660.07 0-1200.11 540.04-1200.11 1200.11v1086.44c22.21 1527.47 744.16 2338.19 2147.58 2450.77h517.94z", style: {
115
+ fill: "#f63d55"
116
+ } }),
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2884.03 3833.6c-562.03-552.91 337.59-1229.84 756.52-784.77l-668.1-718.53C2724 1698.38 2875.6 1176.8 3604.09 814.36h-682.18c-660.07 0-1200.11 540.04-1200.11 1200.11v1086.44c22.21 1527.47 744.16 2338.19 2147.58 2450.77h517.94c447.09-261.52 828.85-610.16 1124.32-1073.8-192.91 108.48-371.35 123.1-530.58 12.63-269.77 225.61-533.22 868.1-809.3 676.82L2884.01 3833.59z", style: {
118
+ fill: "url(#logo-plain_svg__id3)"
119
+ } }),
120
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12967.79 5585.01c1654.02-184.97 2231.4-1330.91 2306.7-2925.01l-43.57-682.94c-42.95-673.27-608.37-1224.11-1256.49-1224.11H11084.21c-648.13 0-1143.27 550.85-1100.32 1224.11l70.69 1108.16c121.19 1558.01 882.83 2384.94 2268.19 2499.78h645.03z", style: {
121
+ fill: "url(#logo-plain_svg__id1)"
122
+ } }),
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 3266.42, cy: 4767.17, r: 119.53, style: {
124
+ fill: "#f3a04e"
125
+ } }),
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11243.45 3832.57c-587.85-563.96 251.45-1254.43 691.78-800.45l-702.77-732.9c-285.07-644.56-170.14-1176.57 521.59-1546.26h-669.84c-648.13 0-1143.27 550.85-1100.32 1224.11l70.69 1108.16c121.19 1558.01 882.83 2384.94 2268.19 2499.78h508.57c422-266.75 774.17-622.36 1034.13-1095.27-182.37 110.65-356.62 125.56-520.16 12.88-250.21 230.12-467.1 885.46-750.63 690.36l-1351.23-1360.42z", style: {
127
+ fill: "url(#logo-plain_svg__id0)",
128
+ stroke: "#06b1ab",
129
+ strokeWidth: 9.1,
130
+ strokeMiterlimit: 22.9256
131
+ } }),
132
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11754.05 752.96c-691.73 369.69-806.66 901.7-521.59 1546.26l702.77 732.9c-440.33-453.98-1279.63 236.49-691.78 800.45 1571.66 1582.35 780.78 887.85 1587.88 1752.45h136.46c1654.02-184.97 2231.4-1330.91 2306.7-2925.01l-43.57-682.94c-42.95-673.27-608.37-1224.11-1256.49-1224.11h-2220.38z", style: {
133
+ fill: "url(#logo-plain_svg__id4)"
134
+ } }),
135
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 13725.89, cy: 2247.09, r: 867.65, className: "logo-plain_svg__fil8" }),
136
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 11745.99, cy: 4944.33, r: 119.53, style: {
137
+ fill: "#52c2f1"
138
+ } }),
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3604.1 814.37c-728.5 362.44-880.09 884.02-631.64 1515.94l668.1 718.53c-418.94-445.08-1318.56 231.85-756.52 784.77l1503.3 1718.08h138.96c1696.5-181.34 2358.97-1304.82 2539.2-2867.65v-669.56c0-660.07-540.06-1200.11-1200.11-1200.11H3604.11z", style: {
140
+ fill: "url(#logo-plain_svg__id2)"
141
+ } }),
142
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m3602.42 3012.57-2.01-1.79-1.22-1c-433.3-363.07-1259.33 288.49-715.16 823.82l1503.3 1718.08h138.96c366.16-39.14 684.05-122.25 959.42-244.11l-1883.3-2295z", style: {
143
+ fill: "#f9483e"
144
+ } }),
145
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 5652.09, cy: 2247.09, r: 867.65, className: "logo-plain_svg__fil8" }),
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 5669.32, cy: 4261.82, r: 86.65, style: {
147
+ fill: "#f7b873"
148
+ } }),
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 3775.08, cy: 4120.55, r: 174.77, className: "logo-plain_svg__fil8" }),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m11770.33 2919.17 123.64 74.69c7.2 5.99 14.32 12.27 21.35 18.8l1988.29 2318.88c-264.55 126.79-574.49 213.07-935.82 253.47h-136.46c-807.1-864.6-16.22-170.1-1587.88-1752.45-520.29-499.15 77.34-1097.23 526.88-913.39z", style: {
151
+ fill: "#06b1ab"
152
+ } }),
153
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 12254.65, cy: 4297.71, r: 174.77, className: "logo-plain_svg__fil8" })
154
+ ] }) })
155
+ ] }));
156
+ var logo_plain_default = SvgLogoPlain;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
+ var logo_plain2_exports = {};
47
+ __export(logo_plain2_exports, {
48
+ default: () => logo_plain2_default
49
+ });
50
+ module.exports = __toCommonJS(logo_plain2_exports);
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ var React = __toESM(require("react"));
53
+ const SvgLogoPlain2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", __spreadProps(__spreadValues({ xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", xmlSpace: "preserve", width: 535.041, height: 203.6, style: {
54
+ shapeRendering: "geometricPrecision",
55
+ textRendering: "geometricPrecision",
56
+ imageRendering: "optimizeQuality",
57
+ fillRule: "evenodd",
58
+ clipRule: "evenodd"
59
+ }, viewBox: "0 0 16897.65 6430.11" }, props), { children: [
60
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("defs", { children: [
61
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain2_svg__id0", x1: 11103.21, x2: 10930.41, y1: 5027.34, y2: 1211.98, gradientUnits: "userSpaceOnUse", children: [
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
63
+ stopOpacity: 1,
64
+ stopColor: "#0a77d4"
65
+ } }),
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
67
+ stopOpacity: 1,
68
+ stopColor: "#00b1e0"
69
+ } })
70
+ ] }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("linearGradient", { xlinkHref: "#logo-plain2_svg__id0", id: "logo-plain2_svg__id1", x1: 11407.32, x2: 11286.4, y1: 5023.83, y2: 1215.5, gradientUnits: "userSpaceOnUse" }),
72
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain2_svg__id2", x1: 6311.87, x2: 3547.5, y1: 4699.25, y2: 1677.39, gradientUnits: "userSpaceOnUse", children: [
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
74
+ stopOpacity: 1,
75
+ stopColor: "#f65926"
76
+ } }),
77
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
78
+ stopOpacity: 1,
79
+ stopColor: "#f0ab1f"
80
+ } })
81
+ ] }),
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain2_svg__id3", x1: 3105.35, x2: 2612.67, y1: 5075.61, y2: 1311.04, gradientUnits: "userSpaceOnUse", children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
84
+ stopOpacity: 1,
85
+ stopColor: "#e52652"
86
+ } }),
87
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
88
+ stopOpacity: 1,
89
+ stopColor: "#ff4956"
90
+ } })
91
+ ] }),
92
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: "logo-plain2_svg__id4", x1: 14599.77, x2: 12e3, y1: 4808.34, y2: 1573.25, gradientUnits: "userSpaceOnUse", children: [
93
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 0, style: {
94
+ stopOpacity: 1,
95
+ stopColor: "#02c0a7"
96
+ } }),
97
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: 1, style: {
98
+ stopOpacity: 1,
99
+ stopColor: "#02e097"
100
+ } })
101
+ ] }),
102
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { children: ".logo-plain2_svg__fil8{fill:#fefefe}" })
103
+ ] }),
104
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { id: "logo-plain2_svg__\\u56FE\\u5C42_x0020_1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { id: "logo-plain2_svg___1978240863120", children: [
105
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2921.92 814.37h2943.46c660.05 0 1200.11 540.04 1200.11 1200.11v669.56c-180.23 1562.84-842.69 2686.31-2539.2 2867.65h-656.9c-1403.42-112.59-2125.37-923.3-2147.58-2450.77V2014.48c0-660.07 540.04-1200.11 1200.11-1200.11z", style: {
106
+ fill: "none",
107
+ stroke: "#e62129",
108
+ strokeWidth: 23.87,
109
+ strokeMiterlimit: 22.9256
110
+ } }),
111
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M908.05 649.1c172.38 0 312.1 139.73 312.1 312.1 0 172.38-139.73 312.1-312.1 312.1-172.38 0-312.1-139.73-312.1-312.1 0-172.38 139.73-312.1 312.1-312.1zm15081.56 0c-172.38 0-312.1 139.73-312.1 312.1 0 172.38 139.73 312.1 312.1 312.1 172.38 0 312.1-139.73 312.1-312.1 0-172.38-139.73-312.1-312.1-312.1zM16304.76.03H11565.2c-332.34-.73-635.61 30.83-892.17 114.33-1164.61 314.95-1684.86 539.69-2204.5 542.55-529.24 2.92-1057.71-221.77-2243.89-542.55C5968.08 30.86 5664.81-.7 5332.47.03H592.91C266.8.03.01 266.82.01 592.93v727.65c0 326.11 262.25 574.15 588.16 562.9 244.44-8.44 379.43 161.6 368.56 407.41v1401.3c844.04 3884.05 6459.63 3705.54 6872.25-983.68 37.55-479.97 225.37-745.7 619.85-795.03 394.48 49.33 582.3 315.06 619.85 795.03 221.1 2512.67 1570.99 3564.6 3624.76 3705.62 1575.25-121.99 2822.57-766.6 3247.49-2721.94v-1401.3c-10.86-245.81 124.13-415.84 368.56-407.41 325.91 11.24 588.16-236.8 588.16-562.9V592.93c0-326.11-266.79-592.9-592.9-592.9z", style: {
112
+ fill: "#332c2b"
113
+ } }),
114
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4404.53 5551.69h138.96c1696.5-181.34 2358.97-1304.82 2539.2-2867.65v-669.56c0-660.07-540.06-1200.11-1200.11-1200.11H2939.12c-660.07 0-1200.11 540.04-1200.11 1200.11v1086.44c22.21 1527.47 744.16 2338.19 2147.58 2450.77h517.94z", style: {
115
+ fill: "#f63d55"
116
+ } }),
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2884.03 3833.6c-562.03-552.91 337.59-1229.84 756.52-784.77l-668.1-718.53C2724 1698.38 2875.6 1176.8 3604.09 814.36h-682.18c-660.07 0-1200.11 540.04-1200.11 1200.11v1086.44c22.21 1527.47 744.16 2338.19 2147.58 2450.77h517.94c447.09-261.52 828.85-610.16 1124.32-1073.8-192.91 108.48-371.35 123.1-530.58 12.63-269.77 225.61-533.22 868.1-809.3 676.82L2884.01 3833.59z", style: {
118
+ fill: "url(#logo-plain2_svg__id3)"
119
+ } }),
120
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12967.79 5585.01c1654.02-184.97 2231.4-1330.91 2306.7-2925.01l-43.57-682.94c-42.95-673.27-608.37-1224.11-1256.49-1224.11H11084.21c-648.13 0-1143.27 550.85-1100.32 1224.11l70.69 1108.16c121.19 1558.01 882.83 2384.94 2268.19 2499.78h645.03z", style: {
121
+ fill: "url(#logo-plain2_svg__id1)"
122
+ } }),
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 3266.42, cy: 4767.17, r: 119.53, style: {
124
+ fill: "#f3a04e"
125
+ } }),
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11243.45 3832.57c-587.85-563.96 251.45-1254.43 691.78-800.45l-702.77-732.9c-285.07-644.56-170.14-1176.57 521.59-1546.26h-669.84c-648.13 0-1143.27 550.85-1100.32 1224.11l70.69 1108.16c121.19 1558.01 882.83 2384.94 2268.19 2499.78h508.57c422-266.75 774.17-622.36 1034.13-1095.27-182.37 110.65-356.62 125.56-520.16 12.88-250.21 230.12-467.1 885.46-750.63 690.36l-1351.23-1360.42z", style: {
127
+ fill: "url(#logo-plain2_svg__id0)",
128
+ stroke: "#06b1ab",
129
+ strokeWidth: 9.1,
130
+ strokeMiterlimit: 22.9256
131
+ } }),
132
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11754.05 752.96c-691.73 369.69-806.66 901.7-521.59 1546.26l702.77 732.9c-440.33-453.98-1279.63 236.49-691.78 800.45 1571.66 1582.35 780.78 887.85 1587.88 1752.45h136.46c1654.02-184.97 2231.4-1330.91 2306.7-2925.01l-43.57-682.94c-42.95-673.27-608.37-1224.11-1256.49-1224.11h-2220.38z", style: {
133
+ fill: "url(#logo-plain2_svg__id4)"
134
+ } }),
135
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 13725.89, cy: 2247.09, r: 867.65, className: "logo-plain2_svg__fil8" }),
136
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 11745.99, cy: 4944.33, r: 119.53, style: {
137
+ fill: "#52c2f1"
138
+ } }),
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3604.1 814.37c-728.5 362.44-880.09 884.02-631.64 1515.94l668.1 718.53c-418.94-445.08-1318.56 231.85-756.52 784.77l1503.3 1718.08h138.96c1696.5-181.34 2358.97-1304.82 2539.2-2867.65v-669.56c0-660.07-540.06-1200.11-1200.11-1200.11H3604.11z", style: {
140
+ fill: "url(#logo-plain2_svg__id2)"
141
+ } }),
142
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m3602.42 3012.57-2.01-1.79-1.22-1c-433.3-363.07-1259.33 288.49-715.16 823.82l1503.3 1718.08h138.96c366.16-39.14 684.05-122.25 959.42-244.11l-1883.3-2295z", style: {
143
+ fill: "#f9483e"
144
+ } }),
145
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 5652.09, cy: 2247.09, r: 867.65, className: "logo-plain2_svg__fil8" }),
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 5669.32, cy: 4261.82, r: 86.65, style: {
147
+ fill: "#f7b873"
148
+ } }),
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 3775.08, cy: 4120.55, r: 174.77, className: "logo-plain2_svg__fil8" }),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m11770.33 2919.17 123.64 74.69c7.2 5.99 14.32 12.27 21.35 18.8l1988.29 2318.88c-264.55 126.79-574.49 213.07-935.82 253.47h-136.46c-807.1-864.6-16.22-170.1-1587.88-1752.45-520.29-499.15 77.34-1097.23 526.88-913.39z", style: {
151
+ fill: "#06b1ab"
152
+ } }),
153
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: 12254.65, cy: 4297.71, r: 174.77, className: "logo-plain2_svg__fil8" })
154
+ ] }) })
155
+ ] }));
156
+ var logo_plain2_default = SvgLogoPlain2;
@@ -105,7 +105,11 @@ const BlackBoard = () => {
105
105
  );
106
106
  return () => {
107
107
  console.log("will destroy");
108
- app == null ? void 0 : app.destroy(true, { children: true, texture: true });
108
+ try {
109
+ app.destroy(true, { children: true, texture: true });
110
+ } catch (e) {
111
+ console.warn("destroy failed", e);
112
+ }
109
113
  };
110
114
  }, [app, screenWidth, screenHeight]);
111
115
  (0, import_react.useEffect)(() => {
@@ -46,15 +46,15 @@ const ScreenshotItem = (props) => {
46
46
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: props.img }) })
47
47
  ] });
48
48
  };
49
+ const VIEW_TYPE_BLACKBOARD = "blackboard";
49
50
  const VIEW_TYPE_SCREENSHOT = "screenshot";
50
51
  const VIEW_TYPE_JSON = "json";
51
- const VIEW_TYPE_BLACKBOARD = "blackboard";
52
52
  const DetailPanel = () => {
53
53
  var _a;
54
54
  const dumpId = (0, import_store.useInsightDump)((store) => store._loadId);
55
55
  const blackboardViewAvailable = Boolean(dumpId);
56
56
  const activeTask = (0, import_store.useExecutionDump)((store) => store.activeTask);
57
- const [preferredViewType, setViewType] = (0, import_react.useState)(dumpId ? VIEW_TYPE_BLACKBOARD : VIEW_TYPE_SCREENSHOT);
57
+ const [preferredViewType, setViewType] = (0, import_react.useState)(VIEW_TYPE_BLACKBOARD);
58
58
  const viewType = preferredViewType === VIEW_TYPE_BLACKBOARD && !dumpId ? VIEW_TYPE_SCREENSHOT : preferredViewType;
59
59
  let content;
60
60
  if (!activeTask) {
@@ -18,9 +18,10 @@
18
18
  line-height: 1.5;
19
19
  }
20
20
  .detail-side .meta-kv .meta .meta-key {
21
+ font-weight: bold;
21
22
  width: 100px;
22
23
  text-align: right;
23
- padding-right: 10px;
24
+ padding-right: 16px;
24
25
  }
25
26
  .detail-side .meta-kv .meta .meta-value {
26
27
  flex: 1 1;
@@ -91,7 +92,7 @@
91
92
  color: #fff;
92
93
  background: #01204E;
93
94
  }
94
- .detail-side .context pre {
95
+ .detail-side pre {
95
96
  text-wrap: balance;
96
97
  }
97
98
  .detail-side .item-list-space-up {
@@ -166,19 +166,19 @@ const DetailSide = () => {
166
166
  const metaKVElement = MetaKV({
167
167
  data: [
168
168
  {
169
- key: "Status",
169
+ key: "status",
170
170
  content: (task == null ? void 0 : task.status) || ""
171
171
  },
172
172
  {
173
- key: "Start",
173
+ key: "start",
174
174
  content: (0, import_utils.timeStr)((_a = task == null ? void 0 : task.timing) == null ? void 0 : _a.start)
175
175
  },
176
176
  {
177
- key: "End",
177
+ key: "end",
178
178
  content: (0, import_utils.timeStr)((_b = task == null ? void 0 : task.timing) == null ? void 0 : _b.end)
179
179
  },
180
180
  {
181
- key: "Time Cost",
181
+ key: "time cost",
182
182
  content: (0, import_misc.timeCostStrElement)((_c = task == null ? void 0 : task.timing) == null ? void 0 : _c.cost)
183
183
  }
184
184
  ]
@@ -278,7 +278,16 @@ const DetailSide = () => {
278
278
  content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { className: "description-content", style: { color: "#F00" }, children: dump.error })
279
279
  }
280
280
  ) : null;
281
- const dataCard = (dump == null ? void 0 : dump.data) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Card, { liteMode: true, onMouseEnter: noop, onMouseLeave: noop, content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { children: kv(dump.data) }) }) : null;
281
+ const dataCard = (dump == null ? void 0 : dump.data) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
282
+ Card,
283
+ {
284
+ liteMode: true,
285
+ onMouseEnter: noop,
286
+ onMouseLeave: noop,
287
+ content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { children: JSON.stringify(dump.data, void 0, 2) })
288
+ }
289
+ ) : null;
290
+ console.log("dump is", dump);
282
291
  const plans = (_h = task == null ? void 0 : task.output) == null ? void 0 : _h.plans;
283
292
  let timelineData = [];
284
293
  if (plans) {
@@ -8,7 +8,7 @@
8
8
  text-align: center;
9
9
  border: 1px solid #CCCCCC;
10
10
  box-sizing: border-box;
11
- background: #ECECEC;
11
+ background: #f7f7f7;
12
12
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.2);
13
13
  }
14
14
  .global-hover-preview img {
@@ -30,11 +30,16 @@ const GlobalHoverPreview = () => {
30
30
  var _a;
31
31
  const wrapperRef = (0, import_react.useRef)(null);
32
32
  const hoverTask = (0, import_store.useExecutionDump)((store) => store.hoverTask);
33
+ const hoverTimestamp = (0, import_store.useExecutionDump)((store) => store.hoverTimestamp);
33
34
  const hoverPreviewConfig = (0, import_store.useExecutionDump)((store) => store.hoverPreviewConfig);
34
35
  const [imageW, setImageW] = (0, import_react.useState)(size);
35
36
  const [imageH, setImageH] = (0, import_react.useState)(size);
36
37
  const images = (_a = hoverTask == null ? void 0 : hoverTask.recorder) == null ? void 0 : _a.filter((item) => {
37
- return item.screenshot;
38
+ let valid = Boolean(item.screenshot);
39
+ if (hoverTimestamp) {
40
+ valid = valid && item.ts >= hoverTimestamp;
41
+ }
42
+ return valid;
38
43
  }).map((item) => item.screenshot);
39
44
  const { x, y } = hoverPreviewConfig || {};
40
45
  let left = 0;
@@ -6,11 +6,12 @@
6
6
  height: 100%;
7
7
  border-right: 1px solid #CCCCCC;
8
8
  overflow: auto;
9
- background: #ECECEC;
9
+ background: #f7f7f7;
10
10
  }
11
11
  .side-bar .brand {
12
12
  padding: 10px 5px;
13
13
  cursor: pointer;
14
+ display: flex;
14
15
  }
15
16
  .side-bar .task-meta-section {
16
17
  margin-top: 6px;
@@ -38,11 +38,11 @@ var import_icons = require("@ant-design/icons");
38
38
  var import_antd = require("antd");
39
39
  var import_panel_title = __toESM(require("./panel-title"));
40
40
  var import_misc = require("./misc");
41
- var import_logo_plain2_16842bbc = __toESM(require("../assets/logo-plain2.16842bbc.svg"));
41
+ var import_logo_plain2 = __toESM(require("./assets/logo-plain2.js"));
42
42
  var import_store = require("./store");
43
43
  var import_utils = require("../utils");
44
44
  const SideItem = (props) => {
45
- var _a, _b;
45
+ var _a, _b, _c;
46
46
  const { task, onClick, selected } = props;
47
47
  const selectedClass = selected ? "selected" : "";
48
48
  let statusIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.MinusOutlined, {});
@@ -61,10 +61,15 @@ const SideItem = (props) => {
61
61
  if ((_a = task.timing) == null ? void 0 : _a.cost) {
62
62
  statusText = (0, import_misc.timeCostStrElement)(task.timing.cost);
63
63
  }
64
- const contentRow = task.type === "Planning" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "side-item-content", children: [
65
- (_b = task.param) == null ? void 0 : _b.userPrompt,
66
- " "
67
- ] }) : null;
64
+ let contentRow;
65
+ if (task.type === "Planning") {
66
+ contentRow = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "side-item-content", children: (_b = task.param) == null ? void 0 : _b.userPrompt });
67
+ } else if (task.type === "Insight" && task.subType === "Query") {
68
+ const demand = (_c = task.param) == null ? void 0 : _c.dataDemand;
69
+ const contentToShow = typeof demand === "string" ? demand : JSON.stringify(demand);
70
+ contentRow = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "side-item-content", children: contentToShow });
71
+ } else {
72
+ }
68
73
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
69
74
  "div",
70
75
  {
@@ -93,7 +98,7 @@ const SideItem = (props) => {
93
98
  }
94
99
  );
95
100
  };
96
- const Sidebar = () => {
101
+ const Sidebar = (props) => {
97
102
  const groupedDumps = (0, import_store.useExecutionDump)((store) => store.dump);
98
103
  const setActiveTask = (0, import_store.useExecutionDump)((store) => store.setActiveTask);
99
104
  const activeTask = (0, import_store.useExecutionDump)((store) => store.activeTask);
@@ -177,14 +182,16 @@ const Sidebar = () => {
177
182
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "no tasks" });
178
183
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "side-bar", children: [
179
184
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "top-controls", children: [
180
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "brand", onClick: reset, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
181
- "img",
185
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "brand", onClick: reset, style: { display: (props == null ? void 0 : props.hideLogo) ? "none" : "flex" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
186
+ import_logo_plain2.default,
182
187
  {
183
- src: import_logo_plain2_16842bbc.default,
184
- alt: "Logo",
185
188
  style: { width: 70, height: 70, margin: "auto" },
186
189
  onClick: () => {
187
- location.reload();
190
+ if (props.logoAction) {
191
+ props.logoAction();
192
+ } else {
193
+ location.reload();
194
+ }
188
195
  }
189
196
  }
190
197
  ) }),