@messenger-box/tailwind-ui-inbox 10.0.3-alpha.116 → 10.0.3-alpha.119
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/CHANGELOG.md +8 -0
- package/lib/components/InboxMessage/RightSidebarAi.d.ts +1 -0
- package/lib/components/InboxMessage/RightSidebarAi.d.ts.map +1 -1
- package/lib/components/InboxMessage/RightSidebarAi.js.map +1 -1
- package/lib/components/filler-components/RightSiderBar.d.ts +1 -0
- package/lib/components/filler-components/RightSiderBar.d.ts.map +1 -1
- package/lib/components/filler-components/RightSiderBar.js +102 -14
- package/lib/components/filler-components/RightSiderBar.js.map +1 -1
- package/lib/components/slot-fill/right-sidebar-filler.d.ts.map +1 -1
- package/lib/components/slot-fill/right-sidebar-filler.js.map +1 -1
- package/lib/compute.d.ts.map +1 -1
- package/lib/compute.js +7 -3
- package/lib/compute.js.map +1 -1
- package/lib/container/InboxContainer.d.ts +1 -1
- package/lib/container/InboxContainer.d.ts.map +1 -1
- package/lib/container/InboxWithAiLoader.d.ts +1 -1
- package/lib/container/InboxWithAiLoader.d.ts.map +1 -1
- package/lib/container/TestInboxWithAiLoader.d.ts +7 -0
- package/lib/container/TestInboxWithAiLoader.d.ts.map +1 -0
- package/lib/container/TestInboxWithAiLoader.js +24 -0
- package/lib/container/TestInboxWithAiLoader.js.map +1 -0
- package/lib/routes.json +2 -2
- package/lib/templates/InboxWithAi.d.ts +1 -1
- package/lib/templates/InboxWithAi.d.ts.map +1 -1
- package/lib/templates/InboxWithAi.js +4 -1
- package/lib/templates/InboxWithAi.js.map +1 -1
- package/lib/templates/InboxWithAi.tsx +5 -2
- package/package.json +4 -4
- package/src/components/InboxMessage/RightSidebarAi.tsx +1 -0
- package/src/components/filler-components/RightSiderBar.tsx +126 -22
- package/src/components/slot-fill/right-sidebar-filler.tsx +1 -0
- package/src/compute.ts +4 -2
- package/src/container/InboxContainer.tsx +1 -1
- package/src/container/InboxWithAiLoader.tsx +1 -1
- package/src/container/TestInboxWithAiLoader.tsx +22 -0
- package/src/templates/InboxWithAi.tsx +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.0.3-alpha.119](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.118...v10.0.3-alpha.119) (2025-10-29)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
9
|
+
|
|
10
|
+
## [10.0.3-alpha.117](https://github.com/cdmbase/messenger-box/compare/v10.0.3-alpha.116...v10.0.3-alpha.117) (2025-10-27)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
13
|
+
|
|
6
14
|
## [10.0.3-alpha.116](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.115...v10.0.3-alpha.116) (2025-10-27)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
@@ -20,6 +20,7 @@ export interface IRightSidebarAi extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
20
20
|
selectedPost?: any;
|
|
21
21
|
handleSendMessage?: (createChannelInput: ICreateChannelInput) => void;
|
|
22
22
|
isMinimized?: boolean;
|
|
23
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
23
24
|
[key: string]: any;
|
|
24
25
|
}
|
|
25
26
|
export declare const RightSidebarAi: (props: IRightSidebarAi) => React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightSidebarAi.d.ts","sourceRoot":"","sources":["../../../src/components/InboxMessage/RightSidebarAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAS,MAAM,QAAQ,CAAC;AAGpD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,eAAe,sBAUpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"RightSidebarAi.d.ts","sourceRoot":"","sources":["../../../src/components/InboxMessage/RightSidebarAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAS,MAAM,QAAQ,CAAC;AAGpD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,eAAe,sBAUpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightSidebarAi.js","sources":["../../../src/components/InboxMessage/RightSidebarAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RightSidebarAi.js","sources":["../../../src/components/InboxMessage/RightSidebarAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"uKA6BO,MAAM,cAAc,GAAG,KAAC,IAAwB;SACnDA,cACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAGO,IAAA,IAAA,EAAA,yBAAY,CAAA,2BAAA;AACZ,IAAA,SAAA,EAAG;AACN,MAAA,MACH,EACJ,IAAA;AACN,MAAE,GAAA;;;"}
|
|
@@ -18,6 +18,7 @@ type RightSidebarProps = {
|
|
|
18
18
|
messages?: any[];
|
|
19
19
|
setIsLoading?: (isLoading: boolean) => void;
|
|
20
20
|
handleSendMessage?: (createChannelInput: ICreateChannelInput) => void;
|
|
21
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
21
22
|
isLoading?: boolean;
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightSiderBar.d.ts","sourceRoot":"","sources":["../../../src/components/filler-components/RightSiderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,KAAK,iBAAiB,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,iBAAiB,
|
|
1
|
+
{"version":3,"file":"RightSiderBar.d.ts","sourceRoot":"","sources":["../../../src/components/filler-components/RightSiderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,KAAK,iBAAiB,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,iBAAiB,sBAsejE,CAAC"}
|
|
@@ -9,7 +9,8 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
9
9
|
selectedPost,
|
|
10
10
|
setIsLoading,
|
|
11
11
|
isLoading,
|
|
12
|
-
handleSendMessage
|
|
12
|
+
handleSendMessage,
|
|
13
|
+
handleRecreateSandbox
|
|
13
14
|
} = props;
|
|
14
15
|
const hybridLiveEditorRef = React.useRef(null);
|
|
15
16
|
const previewIframeRef = React.useRef(null);
|
|
@@ -18,7 +19,19 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
18
19
|
const [activeFragment, setActiveFragment] = React.useState(null);
|
|
19
20
|
const [currentFiles, setCurrentFiles] = React.useState({});
|
|
20
21
|
const [canvasLayers, setCanvasLayers] = React.useState([]);
|
|
22
|
+
const [sanboxRecreate, setSanboxRecreate] = React.useState(false);
|
|
21
23
|
// const [isLoading, setIsLoading] = React.useState(false);
|
|
24
|
+
const [previewStatus, setPreviewStatus] = React.useState(null);
|
|
25
|
+
// Local loading fallback if parent didn't pass setIsLoading/isLoading
|
|
26
|
+
const [localLoading, setLocalLoading] = React.useState(false);
|
|
27
|
+
const loading = typeof isLoading === 'boolean' ? isLoading : localLoading;
|
|
28
|
+
const setLoading = React.useCallback(val => {
|
|
29
|
+
if (typeof setIsLoading === 'function') {
|
|
30
|
+
setIsLoading(val);
|
|
31
|
+
} else {
|
|
32
|
+
setLocalLoading(val);
|
|
33
|
+
}
|
|
34
|
+
}, [setIsLoading]);
|
|
22
35
|
// Component mount tracking
|
|
23
36
|
React.useMemo(() => `right-sidebar-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, []);
|
|
24
37
|
const handleCopyToClipboard = React.useCallback(text => {
|
|
@@ -111,7 +124,8 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
111
124
|
canvasLayers: contents.canvasLayers || cfg.canvasLayers || frag.canvasLayers,
|
|
112
125
|
summary: contents.summary || cfg.summary || frag.summary,
|
|
113
126
|
title: frag.title || contents.title || cfg.title,
|
|
114
|
-
isError: frag.isError
|
|
127
|
+
isError: frag.isError,
|
|
128
|
+
syncStatus: frag.syncStatus
|
|
115
129
|
};
|
|
116
130
|
fragmentSource = 'propsConfiguration.contents.props.fragment';
|
|
117
131
|
}
|
|
@@ -127,7 +141,8 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
127
141
|
canvasLayers: contents.canvasLayers || cfg.canvasLayers || frag.canvasLayers,
|
|
128
142
|
summary: contents.summary || cfg.summary || frag.summary,
|
|
129
143
|
title: frag.title || contents.title || cfg.title,
|
|
130
|
-
isError: frag.isError
|
|
144
|
+
isError: frag.isError,
|
|
145
|
+
syncStatus: frag.syncStatus
|
|
131
146
|
};
|
|
132
147
|
fragmentSource = 'propsConfiguration.contents.fragment';
|
|
133
148
|
}
|
|
@@ -143,7 +158,8 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
143
158
|
canvasLayers: cfg.canvasLayers || frag.canvasLayers,
|
|
144
159
|
summary: cfg.summary || frag.summary,
|
|
145
160
|
title: frag.title || cfg.title,
|
|
146
|
-
isError: frag.isError
|
|
161
|
+
isError: frag.isError,
|
|
162
|
+
syncStatus: frag.syncStatus
|
|
147
163
|
};
|
|
148
164
|
fragmentSource = 'propsConfiguration.fragment';
|
|
149
165
|
}
|
|
@@ -166,7 +182,8 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
166
182
|
modelConfig: extracted.modelConfig,
|
|
167
183
|
canvasLayers: extracted.canvasLayers,
|
|
168
184
|
summary: extracted.summary,
|
|
169
|
-
isError: extracted.isError
|
|
185
|
+
isError: extracted.isError,
|
|
186
|
+
syncStatus: extracted.syncStatus
|
|
170
187
|
};
|
|
171
188
|
// If canvasLayers missing but present in summary, attempt to extract like use-ai-messages
|
|
172
189
|
if ((!fragment.canvasLayers || !Array.isArray(fragment.canvasLayers)) && fragment.summary) {
|
|
@@ -203,6 +220,48 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
203
220
|
}
|
|
204
221
|
}
|
|
205
222
|
}, [chatMessageAddedData, selectedPost]);
|
|
223
|
+
// Probe sandbox URL to detect server-side errors (e.g., 502) before rendering iframe
|
|
224
|
+
React.useEffect(() => {
|
|
225
|
+
const url = activeFragment?.sandboxUrl;
|
|
226
|
+
setPreviewStatus(null);
|
|
227
|
+
if (!url) return;
|
|
228
|
+
const controller = new AbortController();
|
|
229
|
+
const signal = controller.signal;
|
|
230
|
+
const run = async () => {
|
|
231
|
+
try {
|
|
232
|
+
//setLoading(true);
|
|
233
|
+
// timeout to avoid indefinite loading
|
|
234
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
235
|
+
const res = await fetch(url, {
|
|
236
|
+
method: 'GET',
|
|
237
|
+
mode: 'cors',
|
|
238
|
+
redirect: 'follow',
|
|
239
|
+
signal
|
|
240
|
+
});
|
|
241
|
+
clearTimeout(timeoutId);
|
|
242
|
+
console.log('res....', res);
|
|
243
|
+
if (!res.ok) {
|
|
244
|
+
setPreviewStatus({
|
|
245
|
+
code: res.status,
|
|
246
|
+
message: res.statusText
|
|
247
|
+
});
|
|
248
|
+
if (!sanboxRecreate) setSanboxRecreate(true);
|
|
249
|
+
} else {
|
|
250
|
+
setPreviewStatus(null);
|
|
251
|
+
}
|
|
252
|
+
} catch (e) {
|
|
253
|
+
// Network/CORS errors will end up here
|
|
254
|
+
setPreviewStatus({
|
|
255
|
+
message: 'Network error'
|
|
256
|
+
});
|
|
257
|
+
// if(!sanboxRecreate) setSanboxRecreate(true);
|
|
258
|
+
} finally {
|
|
259
|
+
setLoading(false);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
run();
|
|
263
|
+
return () => controller.abort();
|
|
264
|
+
}, [activeFragment?.sandboxUrl, sanboxRecreate]);
|
|
206
265
|
// When switching tabs or when sandbox changes, show loader until ready
|
|
207
266
|
// React.useEffect(() => {
|
|
208
267
|
// if (isPreviewMode) {
|
|
@@ -228,6 +287,22 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
228
287
|
}
|
|
229
288
|
};
|
|
230
289
|
}, []);
|
|
290
|
+
const sandboxExpiryCheck = React.useCallback(() => {
|
|
291
|
+
setSanboxRecreate(false);
|
|
292
|
+
if (activeFragment?.id && handleRecreateSandbox) {
|
|
293
|
+
Promise.resolve(handleRecreateSandbox(activeFragment?.id)).then(data => {
|
|
294
|
+
console.log('recreateSandbox data', data);
|
|
295
|
+
setSanboxRecreate(false);
|
|
296
|
+
}).catch(() => {
|
|
297
|
+
setSanboxRecreate(false);
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
}, [activeFragment?.id, handleRecreateSandbox, setSanboxRecreate]);
|
|
301
|
+
React.useEffect(() => {
|
|
302
|
+
if (sanboxRecreate) {
|
|
303
|
+
sandboxExpiryCheck();
|
|
304
|
+
}
|
|
305
|
+
}, [sanboxRecreate, sandboxExpiryCheck]);
|
|
231
306
|
return React.createElement("div", {
|
|
232
307
|
className: "right-sidebar-content h-full flex flex-col"
|
|
233
308
|
}, React.createElement("div", {
|
|
@@ -245,28 +320,41 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
245
320
|
minHeight: '400px',
|
|
246
321
|
backgroundColor: '#f0f0f0'
|
|
247
322
|
}
|
|
248
|
-
}, React.createElement("iframe", {
|
|
323
|
+
}, !previewStatus ? React.createElement("iframe", {
|
|
249
324
|
key: activeFragment.sandboxUrl,
|
|
250
325
|
ref: previewIframeRef,
|
|
251
|
-
src: activeFragment.sandboxUrl,
|
|
326
|
+
src: !previewStatus ? activeFragment.sandboxUrl : 'about:blank',
|
|
252
327
|
className: "w-full h-full border border-gray-200 rounded-md bg-white shadow-sm",
|
|
253
328
|
title: "Live Preview",
|
|
254
329
|
sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-orientation-lock allow-pointer-lock allow-presentation allow-storage-access-by-user-activation allow-top-navigation-by-user-activation",
|
|
255
330
|
loading: "lazy",
|
|
256
331
|
onLoad: () => {
|
|
257
332
|
console.log('🎯 Iframe loaded successfully');
|
|
258
|
-
|
|
333
|
+
setLoading(false);
|
|
334
|
+
setPreviewStatus(null);
|
|
259
335
|
},
|
|
260
336
|
onError: e => {
|
|
261
337
|
console.error('❌ Iframe error:', e);
|
|
262
|
-
|
|
338
|
+
setLoading(false);
|
|
263
339
|
},
|
|
264
340
|
style: {
|
|
265
341
|
minHeight: '400px'
|
|
266
342
|
}
|
|
267
|
-
})
|
|
343
|
+
}) : React.createElement("div", {
|
|
344
|
+
className: "absolute inset-0 flex items-center justify-center bg-white border border-gray-200 rounded-md"
|
|
345
|
+
}, React.createElement("div", {
|
|
346
|
+
className: "text-center space-y-3 px-4"
|
|
347
|
+
}, React.createElement("div", {
|
|
348
|
+
className: "flex items-center justify-center gap-2 pt-1"
|
|
349
|
+
}, React.createElement("div", {
|
|
350
|
+
className: "absolute inset-0 bg-white/60 flex items-center justify-center z-20"
|
|
351
|
+
}, React.createElement("div", {
|
|
352
|
+
className: "animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"
|
|
353
|
+
})), React.createElement("div", {
|
|
354
|
+
className: "absolute top-2 left-2 bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs z-30"
|
|
355
|
+
}, "Loading...")))), React.createElement("div", {
|
|
268
356
|
className: "absolute top-2 right-2 bg-green-100 text-green-800 px-2 py-1 rounded text-xs z-10"
|
|
269
|
-
}, "Live Preview"),
|
|
357
|
+
}, "Live Preview"), loading && React.createElement(React.Fragment, null, React.createElement("div", {
|
|
270
358
|
className: "absolute inset-0 bg-white/60 flex items-center justify-center z-20"
|
|
271
359
|
}, React.createElement("div", {
|
|
272
360
|
className: "animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"
|
|
@@ -282,13 +370,13 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
282
370
|
className: "font-medium"
|
|
283
371
|
}, "No preview available"), React.createElement("div", {
|
|
284
372
|
className: "flex flex-col items-center justify-center space-y-3"
|
|
285
|
-
},
|
|
373
|
+
}, loading ? React.createElement("div", {
|
|
286
374
|
className: "animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"
|
|
287
375
|
}) : React.createElement("div", {
|
|
288
376
|
className: "w-8 h-8 bg-gray-300 rounded-full"
|
|
289
377
|
}), React.createElement("p", {
|
|
290
378
|
className: "text-sm text-gray-400"
|
|
291
|
-
},
|
|
379
|
+
}, loading ? 'Generating code...' : 'Waiting for code generation...'))));
|
|
292
380
|
}
|
|
293
381
|
})() :
|
|
294
382
|
// Code Editor Mode - Show files from subscription or fallback
|
|
@@ -310,7 +398,7 @@ import*as React from'react';import {HybridLiveEditor}from'../live-code-editor/hy
|
|
|
310
398
|
autoSave: false,
|
|
311
399
|
debounceMs: 500,
|
|
312
400
|
className: "h-full w-full"
|
|
313
|
-
}),
|
|
401
|
+
}), loading && React.createElement(React.Fragment, null, React.createElement("div", {
|
|
314
402
|
className: "absolute inset-0 bg-white/60 flex items-center justify-center z-20"
|
|
315
403
|
}, React.createElement("div", {
|
|
316
404
|
className: "animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightSiderBar.js","sources":["../../../src/components/filler-components/RightSiderBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RightSiderBar.js","sources":["../../../src/components/filler-components/RightSiderBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-sidebar-filler.d.ts","sourceRoot":"","sources":["../../../src/components/slot-fill/right-sidebar-filler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"right-sidebar-filler.d.ts","sourceRoot":"","sources":["../../../src/components/slot-fill/right-sidebar-filler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6B/B,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,sBAE5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAQ5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-sidebar-filler.js","sources":["../../../src/components/slot-fill/right-sidebar-filler.tsx"],"sourcesContent":[null],"names":[],"mappings":"+
|
|
1
|
+
{"version":3,"file":"right-sidebar-filler.js","sources":["../../../src/components/slot-fill/right-sidebar-filler.tsx"],"sourcesContent":[null],"names":[],"mappings":"+OA6BO,MAAM,kBAAkB,GAAG,KAAC,IAAY;SAC3C,KAAO,CAAA,aAAA,CAAA,IAAC,EAAI;AAChB,IAAE,GAAA,KAAA;AAEF,IAAA,IAAO,EAAA,yBAA4B,CAAA;AAC/B,GAAA,CAAA;AAGY;AAGV,MAAA,gBAAA,GAAA,MAAA;AACN,EAAE,OAAA,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,EAAA,KAAA,IAAA;;;;;"}
|
package/lib/compute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,eAAO,MAAM,kBAAkB,EAAE,YAAY,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,eAAO,MAAM,kBAAkB,EAAE,YAAY,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CA2HrE,CAAC;AAaF,QAAA,MAAM,cAAc,KAAwD,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/lib/compute.js
CHANGED
|
@@ -72,22 +72,26 @@ const messengerPageStore = [{
|
|
|
72
72
|
{
|
|
73
73
|
exact: false,
|
|
74
74
|
icon: 'AiOutlineInbox',
|
|
75
|
-
key: 'ai-messenger'
|
|
75
|
+
key: 'ai-messenger'
|
|
76
|
+
///component: () => import('./container/InboxWithAiLoader'),
|
|
77
|
+
,
|
|
78
|
+
|
|
76
79
|
tab: 'Ai Messenger',
|
|
77
80
|
position: IMenuPosition.Middle,
|
|
78
81
|
name: 'AiMessenger',
|
|
79
82
|
path: '/ai-messenger',
|
|
80
|
-
componentPath: "@messenger-box/tailwind-ui-inbox/lib/container/
|
|
83
|
+
componentPath: "@messenger-box/tailwind-ui-inbox/lib/container/TestInboxWithAiLoader.js",
|
|
81
84
|
hasComponent: true
|
|
82
85
|
}, {
|
|
83
86
|
exact: false,
|
|
84
87
|
icon: 'AiOutlineInbox',
|
|
85
88
|
key: 'ai-messenger-with-org-name',
|
|
89
|
+
// component: () => import('./container/InboxWithAiLoader'),
|
|
86
90
|
tab: 'Ai Messenger',
|
|
87
91
|
position: IMenuPosition.Middle,
|
|
88
92
|
name: 'AiMessengerWithOrgName',
|
|
89
93
|
path: '//o/:orgName/ai-messenger',
|
|
90
|
-
componentPath: "@messenger-box/tailwind-ui-inbox/lib/container/
|
|
94
|
+
componentPath: "@messenger-box/tailwind-ui-inbox/lib/container/TestInboxWithAiLoader.js",
|
|
91
95
|
hasComponent: true
|
|
92
96
|
}, {
|
|
93
97
|
exact: false,
|
package/lib/compute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"qIAOO,MAAM,kBAAkB,GAA4C,CAAA;AACvE,EAAA,KAAA,EAAA,KAAA;AACI,EAAA,IAAA,EAAA,gBAAY;AACZ,EAAA,GAAA,EAAA,OAAM;AACN,EAAA,SAAG,EAAE,MAAA,OAAO,gCAAA,CAAA;AACZ,EAAA,GAAA,EAAA,UAAS;AACT,EAAA,QAAA,eAAe,CAAA,MAAA;;QAEf,OAAA;AACA,EAAA,IAAA,EAAA;AACA;;AAEH,EAAA,KAAA,EAAA,KAAA;AACD,EAAA,IAAA,EAAA,gBAAA;AACI,EAAA,GAAA,EAAA;AACA,EAAA,SAAA,QAAM,OAAA,gCAAgB,CAAA;AACtB,EAAA,GAAA,EAAA,UAAK;AACL,EAAA,QAAA,EAAA,aAAiB,CAAA,MAAO;AACxB;QACA,OAAA;QACA;AACA,CAAA,EAAA;AACA,EAAA,KAAA,EAAA,KAAM;AACT,EAAA,IAAA,EAAA,gBAAA;AACD,EAAA,GAAA,EAAA,gBAAA;AACI,EAAA,SAAA,EAAK,MAAE,OAAK,gCAAA,CAAA;AACZ,EAAA,GAAA,EAAA,IAAA;AACA,EAAA,QAAA,eAAK,CAAA,MAAgB;AACrB;AACA,EAAA,IAAA,EAAA,eAAS;QACT;;AAEA,CAAA;AACA;;AAEH;;;;;;;;;;;OAWD,EAAA,KAAA;MACA,EAAA,gBAAK;AACL,EAAA,GAAA,EAAA,cAAA;AACI,EAAA,SAAA,
|
|
1
|
+
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"qIAOO,MAAM,kBAAkB,GAA4C,CAAA;AACvE,EAAA,KAAA,EAAA,KAAA;AACI,EAAA,IAAA,EAAA,gBAAY;AACZ,EAAA,GAAA,EAAA,OAAM;AACN,EAAA,SAAG,EAAE,MAAA,OAAO,gCAAA,CAAA;AACZ,EAAA,GAAA,EAAA,UAAS;AACT,EAAA,QAAA,eAAe,CAAA,MAAA;;QAEf,OAAA;AACA,EAAA,IAAA,EAAA;AACA;;AAEH,EAAA,KAAA,EAAA,KAAA;AACD,EAAA,IAAA,EAAA,gBAAA;AACI,EAAA,GAAA,EAAA;AACA,EAAA,SAAA,QAAM,OAAA,gCAAgB,CAAA;AACtB,EAAA,GAAA,EAAA,UAAK;AACL,EAAA,QAAA,EAAA,aAAiB,CAAA,MAAO;AACxB;QACA,OAAA;QACA;AACA,CAAA,EAAA;AACA,EAAA,KAAA,EAAA,KAAM;AACT,EAAA,IAAA,EAAA,gBAAA;AACD,EAAA,GAAA,EAAA,gBAAA;AACI,EAAA,SAAA,EAAK,MAAE,OAAK,gCAAA,CAAA;AACZ,EAAA,GAAA,EAAA,IAAA;AACA,EAAA,QAAA,eAAK,CAAA,MAAgB;AACrB;AACA,EAAA,IAAA,EAAA,eAAS;QACT;;AAEA,CAAA;AACA;;AAEH;;;;;;;;;;;OAWD,EAAA,KAAA;MACA,EAAA,gBAAK;AACL,EAAA,GAAA,EAAA,cAAA;AACI;AACA,EAAA,SAAA,QAAM,OAAA,sCAAgB,CAAA;AACtB,EAAA,GAAA,EAAA,cAAK;UACL,EAAA,aAAA,CAAA,MAAA;AACA,EAAA,IAAA,EAAA,aAAW;AACX,EAAA,IAAA,EAAA;;AAEA,EAAA,KAAA,EAAA,KAAM;AACN,EAAA,IAAA,EAAA,gBAAM;AACT,EAAA,GAAA,EAAA,4BAAA;AACD,EAAA,SAAA,EAAA,MAAA,OAAA,sCAAA,CAAA;AACI;AACA,EAAA,GAAA,EAAA,cAAM;AACN,EAAA,QAAA,eAAK,CAAA,MAAA;AACL,EAAA,IAAA,EAAA,wBAAwB;QACxB;AACA,CAAA,EAAA;SACA,KAAA;AACA,EAAA,IAAA,EAAA,gBAAM;AACN,EAAA,GAAA,EAAA,kCAAiC;AACpC,EAAA,SAAA,EAAA,MAAA,OAAA,sCAAA,CAAA;AACD,EAAA,GAAA,EAAA,cAAA;AACI,EAAA,QAAA,EAAA,aAAY,CAAA,MAAA;AACZ,EAAA,IAAA,EAAA,6BAAsB;AACtB,EAAA,IAAA,EAAA;AACA,CAAA,EAAA;AACA,EAAA,KAAA,EAAA,KAAK;QACL,gBAAU;AACV,EAAA,GAAA,EAAA,0CAAmC;AACnC,EAAA,SAAA,QAAM,OAAA,sCAAuB,CAAA;AAChC,EAAA,GAAA,EAAA,cAAA;AACD,EAAA,QAAA,EAAA,aAAA,CAAA,MAAA;AACI,EAAA,IAAA,EAAA,mCAAY;AACZ,EAAA,IAAA,EAAA;AACA;AACA;AACA;;AAEA;AACA;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BD,cAAA,GAAA,CAAA,OAAA,EAAA,gBAAsC,EAAA,cAAA,EAAA,4BAAA,EAAA,kCAAA,EAAA,0CAAA,EAAA,2BAAA,CAAA;AACtC,MAAA,cAAA,GAAA,iBAAA,CAAA,kBAAsC,EAAA,cAAA"}
|
|
@@ -5,7 +5,7 @@ interface InboxContainerProps {
|
|
|
5
5
|
channelRole?: string;
|
|
6
6
|
supportServices?: boolean;
|
|
7
7
|
orgName?: string;
|
|
8
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
8
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: React.NamedExoticComponent<InboxContainerProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxContainer.d.ts","sourceRoot":"","sources":["../../src/container/InboxContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,mBAAmB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InboxContainer.d.ts","sourceRoot":"","sources":["../../src/container/InboxContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,mBAAmB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;;AA+BD,wBAA0C"}
|
|
@@ -5,7 +5,7 @@ interface InboxWithAiLoaderProps {
|
|
|
5
5
|
supportServices?: boolean;
|
|
6
6
|
pathPrefix?: string;
|
|
7
7
|
orgName?: string;
|
|
8
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
8
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: React.MemoExoticComponent<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxWithAiLoader.d.ts","sourceRoot":"","sources":["../../src/container/InboxWithAiLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiCvC,UAAU,sBAAsB;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InboxWithAiLoader.d.ts","sourceRoot":"","sources":["../../src/container/InboxWithAiLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiCvC,UAAU,sBAAsB;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;;YAEiC,sBAAsB;;;AAkCxD,wBAA6C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestInboxWithAiLoader.d.ts","sourceRoot":"","sources":["../../src/container/TestInboxWithAiLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAmB1B,wBAAuD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React__default from'react';import InboxWithAiLoader from'./InboxWithAiLoader.js';import {useParams}from'@remix-run/react';import {useRecreateSandboxMutation}from'common/graphql';const TestInboxWithAiLoaderOutlet = () => {
|
|
2
|
+
const {
|
|
3
|
+
orgName
|
|
4
|
+
} = useParams();
|
|
5
|
+
const [recreateSandbox, {
|
|
6
|
+
loading,
|
|
7
|
+
error
|
|
8
|
+
}] = useRecreateSandboxMutation();
|
|
9
|
+
const handleRecreateSandbox = async messageId => {
|
|
10
|
+
console.log('recreateSandbox', messageId);
|
|
11
|
+
const response = await recreateSandbox({
|
|
12
|
+
variables: {
|
|
13
|
+
messageId
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return response;
|
|
17
|
+
};
|
|
18
|
+
return React__default.createElement(InboxWithAiLoader, {
|
|
19
|
+
orgName: orgName,
|
|
20
|
+
handleRecreateSandbox: handleRecreateSandbox
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var TestInboxWithAiLoader = React__default.memo(TestInboxWithAiLoaderOutlet);
|
|
24
|
+
TestInboxWithAiLoaderOutlet.displayName = 'TestInboxWithAiLoaderOutlet';export{TestInboxWithAiLoader as default};//# sourceMappingURL=TestInboxWithAiLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestInboxWithAiLoader.js","sources":["../../src/container/TestInboxWithAiLoader.tsx"],"sourcesContent":[null],"names":[],"mappings":"yLAIA,MAAM,2BAA2B,GAAG,MAAK;AACrC,EAAA,MAAA;AACA,IAAA;AACA,GAAA,GAAA;AACI,EAAA,MAAA,CAAA;AACA,IAAA,OAAA;AACI,IAAA;iCACa,EAAA;AACZ,EAAA,MAAA,qBAAA,GAAA,MAAA,SAAA,IAAA;AACJ,IAAA,OAAE,CAAA,GAAA,CAAA,iBAAA,EAAA,SAAA,CAAA;AACH,IAAA,MAAA,iBAAgB,eAAA,CAAA;AACpB,MAAE,SAAA,EAAA;QACF;AACJ;AAEA,KAAA,CAAA;AAEA,IAAA,OAAA,QAAA;;;;;;;;"}
|
package/lib/routes.json
CHANGED
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"position": "MIDDLE",
|
|
66
66
|
"name": "AiMessenger",
|
|
67
67
|
"path": "/ai-messenger",
|
|
68
|
-
"componentPath": "@messenger-box/tailwind-ui-inbox/lib/container/
|
|
68
|
+
"componentPath": "@messenger-box/tailwind-ui-inbox/lib/container/TestInboxWithAiLoader.js",
|
|
69
69
|
"hasComponent": true
|
|
70
70
|
}
|
|
71
71
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"position": "MIDDLE",
|
|
79
79
|
"name": "AiMessengerWithOrgName",
|
|
80
80
|
"path": "//o/:orgName/ai-messenger",
|
|
81
|
-
"componentPath": "@messenger-box/tailwind-ui-inbox/lib/container/
|
|
81
|
+
"componentPath": "@messenger-box/tailwind-ui-inbox/lib/container/TestInboxWithAiLoader.js",
|
|
82
82
|
"hasComponent": true
|
|
83
83
|
}
|
|
84
84
|
},
|
|
@@ -6,7 +6,7 @@ export interface InboxProps {
|
|
|
6
6
|
pathPrefix?: string;
|
|
7
7
|
data?: any;
|
|
8
8
|
orgName?: string;
|
|
9
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
9
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: React.MemoExoticComponent<{
|
|
12
12
|
(props: InboxProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxWithAi.d.ts","sourceRoot":"","sources":["../../src/templates/InboxWithAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAiBf,MAAM,WAAW,UAAU;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InboxWithAi.d.ts","sourceRoot":"","sources":["../../src/templates/InboxWithAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAiBf,MAAM,WAAW,UAAU;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtE;;YA0D2B,UAAU;;;AAshBtC,wBAAuC"}
|
|
@@ -108,7 +108,7 @@ const InboxWithAiInternal = props => {
|
|
|
108
108
|
} catch (err) {
|
|
109
109
|
console.error('Error recreating sandbox:', err);
|
|
110
110
|
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
111
|
-
setIsLoading(false);
|
|
111
|
+
// setIsLoading(false);
|
|
112
112
|
}
|
|
113
113
|
}, [recreateSandbox, channelId]);
|
|
114
114
|
// Handle refresh sandbox
|
|
@@ -290,6 +290,7 @@ const InboxWithAiInternal = props => {
|
|
|
290
290
|
setIsLoading: setIsLoading,
|
|
291
291
|
isLoading: isLoading,
|
|
292
292
|
handleSendMessage: handleSendMessage,
|
|
293
|
+
handleRecreateSandbox: props?.handleRecreateSandbox || null,
|
|
293
294
|
isMinimized: isMinimized,
|
|
294
295
|
...props
|
|
295
296
|
})))));
|
|
@@ -454,6 +455,7 @@ const RightSidebarContent = React__default.memo(({
|
|
|
454
455
|
setIsLoading,
|
|
455
456
|
isLoading,
|
|
456
457
|
handleSendMessage,
|
|
458
|
+
handleRecreateSandbox,
|
|
457
459
|
isMinimized,
|
|
458
460
|
...props
|
|
459
461
|
}) => {
|
|
@@ -478,6 +480,7 @@ const RightSidebarContent = React__default.memo(({
|
|
|
478
480
|
isLoading: isLoading,
|
|
479
481
|
handleSendMessage: handleSendMessage,
|
|
480
482
|
isMinimized: isMinimized,
|
|
483
|
+
handleRecreateSandbox: handleRecreateSandbox,
|
|
481
484
|
...props
|
|
482
485
|
}));
|
|
483
486
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export interface InboxProps {
|
|
|
32
32
|
pathPrefix?: string;
|
|
33
33
|
data?: any;
|
|
34
34
|
orgName?: string;
|
|
35
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
35
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
// Static utility hooks and components
|
|
@@ -147,7 +147,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
147
147
|
} catch (err) {
|
|
148
148
|
console.error('Error recreating sandbox:', err);
|
|
149
149
|
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
150
|
-
setIsLoading(false);
|
|
150
|
+
// setIsLoading(false);
|
|
151
151
|
}
|
|
152
152
|
},
|
|
153
153
|
[recreateSandbox, channelId],
|
|
@@ -384,6 +384,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
384
384
|
setIsLoading={setIsLoading}
|
|
385
385
|
isLoading={isLoading}
|
|
386
386
|
handleSendMessage={handleSendMessage}
|
|
387
|
+
handleRecreateSandbox={props?.handleRecreateSandbox || null}
|
|
387
388
|
isMinimized={isMinimized}
|
|
388
389
|
{...props}
|
|
389
390
|
/>
|
|
@@ -578,6 +579,7 @@ const RightSidebarContent = React.memo(
|
|
|
578
579
|
setIsLoading,
|
|
579
580
|
isLoading,
|
|
580
581
|
handleSendMessage,
|
|
582
|
+
handleRecreateSandbox,
|
|
581
583
|
isMinimized,
|
|
582
584
|
...props
|
|
583
585
|
}: any) => {
|
|
@@ -603,6 +605,7 @@ const RightSidebarContent = React.memo(
|
|
|
603
605
|
isLoading={isLoading}
|
|
604
606
|
handleSendMessage={handleSendMessage}
|
|
605
607
|
isMinimized={isMinimized}
|
|
608
|
+
handleRecreateSandbox={handleRecreateSandbox}
|
|
606
609
|
{...props}
|
|
607
610
|
/>
|
|
608
611
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@messenger-box/tailwind-ui-inbox",
|
|
3
|
-
"version": "10.0.3-alpha.
|
|
3
|
+
"version": "10.0.3-alpha.119",
|
|
4
4
|
"description": "Inbox UI components built with TailwindCSS",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"watch": "npm run build:lib:watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@messenger-box/core": "10.0.3-alpha.
|
|
25
|
-
"@messenger-box/platform-client": "10.0.3-alpha.
|
|
24
|
+
"@messenger-box/core": "10.0.3-alpha.119",
|
|
25
|
+
"@messenger-box/platform-client": "10.0.3-alpha.119",
|
|
26
26
|
"@monaco-editor/react": "^4.7.0",
|
|
27
27
|
"date-fns": "^4.1.0",
|
|
28
28
|
"date-fns-tz": "^3.2.0",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"typescript": {
|
|
59
59
|
"definition": "lib/index.d.ts"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "b5989c75019b8afbfd9de4f04267896950070334"
|
|
62
62
|
}
|
|
@@ -23,6 +23,7 @@ export interface IRightSidebarAi extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
23
23
|
selectedPost?: any;
|
|
24
24
|
handleSendMessage?: (createChannelInput: ICreateChannelInput) => void;
|
|
25
25
|
isMinimized?: boolean;
|
|
26
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
26
27
|
[key: string]: any;
|
|
27
28
|
}
|
|
28
29
|
|
|
@@ -21,6 +21,7 @@ type RightSidebarProps = {
|
|
|
21
21
|
messages?: any[];
|
|
22
22
|
setIsLoading?: (isLoading: boolean) => void;
|
|
23
23
|
handleSendMessage?: (createChannelInput: ICreateChannelInput) => void;
|
|
24
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
24
25
|
isLoading?: boolean;
|
|
25
26
|
[key: string]: any;
|
|
26
27
|
};
|
|
@@ -37,6 +38,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
37
38
|
setIsLoading,
|
|
38
39
|
isLoading,
|
|
39
40
|
handleSendMessage,
|
|
41
|
+
handleRecreateSandbox,
|
|
40
42
|
} = props;
|
|
41
43
|
|
|
42
44
|
const hybridLiveEditorRef = React.useRef<HybridLiveEditorRef>(null);
|
|
@@ -47,7 +49,22 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
47
49
|
const [activeFragment, setActiveFragment] = React.useState<any>(null);
|
|
48
50
|
const [currentFiles, setCurrentFiles] = React.useState<Record<string, string>>({});
|
|
49
51
|
const [canvasLayers, setCanvasLayers] = React.useState<any[]>([]);
|
|
52
|
+
const [sanboxRecreate, setSanboxRecreate] = React.useState(false);
|
|
50
53
|
// const [isLoading, setIsLoading] = React.useState(false);
|
|
54
|
+
const [previewStatus, setPreviewStatus] = React.useState<{ code?: number; message?: string } | null>(null);
|
|
55
|
+
// Local loading fallback if parent didn't pass setIsLoading/isLoading
|
|
56
|
+
const [localLoading, setLocalLoading] = React.useState(false);
|
|
57
|
+
const loading = typeof isLoading === 'boolean' ? isLoading : localLoading;
|
|
58
|
+
const setLoading = React.useCallback(
|
|
59
|
+
(val: boolean) => {
|
|
60
|
+
if (typeof setIsLoading === 'function') {
|
|
61
|
+
setIsLoading(val);
|
|
62
|
+
} else {
|
|
63
|
+
setLocalLoading(val);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
[setIsLoading],
|
|
67
|
+
);
|
|
51
68
|
|
|
52
69
|
// Component mount tracking
|
|
53
70
|
const componentId = React.useMemo(
|
|
@@ -161,6 +178,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
161
178
|
summary: contents.summary || cfg.summary || frag.summary,
|
|
162
179
|
title: frag.title || contents.title || cfg.title,
|
|
163
180
|
isError: frag.isError,
|
|
181
|
+
syncStatus: frag.syncStatus,
|
|
164
182
|
};
|
|
165
183
|
fragmentSource = 'propsConfiguration.contents.props.fragment';
|
|
166
184
|
}
|
|
@@ -178,6 +196,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
178
196
|
summary: contents.summary || cfg.summary || frag.summary,
|
|
179
197
|
title: frag.title || contents.title || cfg.title,
|
|
180
198
|
isError: frag.isError,
|
|
199
|
+
syncStatus: frag.syncStatus,
|
|
181
200
|
};
|
|
182
201
|
fragmentSource = 'propsConfiguration.contents.fragment';
|
|
183
202
|
}
|
|
@@ -195,6 +214,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
195
214
|
summary: cfg.summary || frag.summary,
|
|
196
215
|
title: frag.title || cfg.title,
|
|
197
216
|
isError: frag.isError,
|
|
217
|
+
syncStatus: frag.syncStatus,
|
|
198
218
|
};
|
|
199
219
|
fragmentSource = 'propsConfiguration.fragment';
|
|
200
220
|
}
|
|
@@ -222,6 +242,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
222
242
|
canvasLayers: extracted.canvasLayers,
|
|
223
243
|
summary: extracted.summary,
|
|
224
244
|
isError: extracted.isError,
|
|
245
|
+
syncStatus: extracted.syncStatus,
|
|
225
246
|
};
|
|
226
247
|
|
|
227
248
|
// If canvasLayers missing but present in summary, attempt to extract like use-ai-messages
|
|
@@ -264,6 +285,45 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
264
285
|
}
|
|
265
286
|
}, [chatMessageAddedData, selectedPost]);
|
|
266
287
|
|
|
288
|
+
// Probe sandbox URL to detect server-side errors (e.g., 502) before rendering iframe
|
|
289
|
+
React.useEffect(() => {
|
|
290
|
+
const url = activeFragment?.sandboxUrl;
|
|
291
|
+
setPreviewStatus(null);
|
|
292
|
+
if (!url) return;
|
|
293
|
+
|
|
294
|
+
const controller = new AbortController();
|
|
295
|
+
const signal = controller.signal;
|
|
296
|
+
const run = async () => {
|
|
297
|
+
try {
|
|
298
|
+
//setLoading(true);
|
|
299
|
+
// timeout to avoid indefinite loading
|
|
300
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000);
|
|
301
|
+
const res = await fetch(url, {
|
|
302
|
+
method: 'GET',
|
|
303
|
+
mode: 'cors',
|
|
304
|
+
redirect: 'follow',
|
|
305
|
+
signal,
|
|
306
|
+
});
|
|
307
|
+
clearTimeout(timeoutId);
|
|
308
|
+
console.log('res....', res);
|
|
309
|
+
if (!res.ok) {
|
|
310
|
+
setPreviewStatus({ code: res.status, message: res.statusText });
|
|
311
|
+
if (!sanboxRecreate) setSanboxRecreate(true);
|
|
312
|
+
} else {
|
|
313
|
+
setPreviewStatus(null);
|
|
314
|
+
}
|
|
315
|
+
} catch (e: any) {
|
|
316
|
+
// Network/CORS errors will end up here
|
|
317
|
+
setPreviewStatus({ message: 'Network error' });
|
|
318
|
+
// if(!sanboxRecreate) setSanboxRecreate(true);
|
|
319
|
+
} finally {
|
|
320
|
+
setLoading(false);
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
run();
|
|
324
|
+
return () => controller.abort();
|
|
325
|
+
}, [activeFragment?.sandboxUrl, sanboxRecreate]);
|
|
326
|
+
|
|
267
327
|
// When switching tabs or when sandbox changes, show loader until ready
|
|
268
328
|
// React.useEffect(() => {
|
|
269
329
|
// if (isPreviewMode) {
|
|
@@ -291,6 +351,26 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
291
351
|
};
|
|
292
352
|
}, []);
|
|
293
353
|
|
|
354
|
+
const sandboxExpiryCheck = React.useCallback(() => {
|
|
355
|
+
setSanboxRecreate(false);
|
|
356
|
+
if (activeFragment?.id && handleRecreateSandbox) {
|
|
357
|
+
Promise.resolve(handleRecreateSandbox(activeFragment?.id))
|
|
358
|
+
.then((data: any) => {
|
|
359
|
+
console.log('recreateSandbox data', data);
|
|
360
|
+
setSanboxRecreate(false);
|
|
361
|
+
})
|
|
362
|
+
.catch(() => {
|
|
363
|
+
setSanboxRecreate(false);
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
}, [activeFragment?.id, handleRecreateSandbox, setSanboxRecreate]);
|
|
367
|
+
|
|
368
|
+
React.useEffect(() => {
|
|
369
|
+
if (sanboxRecreate) {
|
|
370
|
+
sandboxExpiryCheck();
|
|
371
|
+
}
|
|
372
|
+
}, [sanboxRecreate, sandboxExpiryCheck]);
|
|
373
|
+
|
|
294
374
|
return (
|
|
295
375
|
<div className="right-sidebar-content h-full flex flex-col">
|
|
296
376
|
<div className="flex-1 overflow-hidden" style={{ height: 'calc(100vh - 140px)' }}>
|
|
@@ -303,28 +383,52 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
303
383
|
className="w-full h-full relative"
|
|
304
384
|
style={{ minHeight: '400px', backgroundColor: '#f0f0f0' }}
|
|
305
385
|
>
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
386
|
+
{!previewStatus ? (
|
|
387
|
+
<iframe
|
|
388
|
+
key={activeFragment.sandboxUrl}
|
|
389
|
+
ref={previewIframeRef}
|
|
390
|
+
src={!previewStatus ? activeFragment.sandboxUrl : 'about:blank'}
|
|
391
|
+
className="w-full h-full border border-gray-200 rounded-md bg-white shadow-sm"
|
|
392
|
+
title="Live Preview"
|
|
393
|
+
sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-orientation-lock allow-pointer-lock allow-presentation allow-storage-access-by-user-activation allow-top-navigation-by-user-activation"
|
|
394
|
+
loading="lazy"
|
|
395
|
+
onLoad={() => {
|
|
396
|
+
console.log('🎯 Iframe loaded successfully');
|
|
397
|
+
setLoading(false);
|
|
398
|
+
setPreviewStatus(null);
|
|
399
|
+
}}
|
|
400
|
+
onError={(e) => {
|
|
401
|
+
console.error('❌ Iframe error:', e);
|
|
402
|
+
setLoading(false);
|
|
403
|
+
}}
|
|
404
|
+
style={{ minHeight: '400px' }}
|
|
405
|
+
/>
|
|
406
|
+
) : (
|
|
407
|
+
<div className="absolute inset-0 flex items-center justify-center bg-white border border-gray-200 rounded-md">
|
|
408
|
+
<div className="text-center space-y-3 px-4">
|
|
409
|
+
<div className="flex items-center justify-center gap-2 pt-1">
|
|
410
|
+
<div className="absolute inset-0 bg-white/60 flex items-center justify-center z-20">
|
|
411
|
+
<div className="animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"></div>
|
|
412
|
+
</div>
|
|
413
|
+
<div className="absolute top-2 left-2 bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs z-30">
|
|
414
|
+
Loading...
|
|
415
|
+
</div>
|
|
416
|
+
{/* {handleRecreateSandbox && (
|
|
417
|
+
<button
|
|
418
|
+
className="px-3 py-1.5 text-xs rounded bg-blue-600 text-white hover:bg-blue-700"
|
|
419
|
+
onClick={() => handleRecreateSandbox(activeFragment?.id)}
|
|
420
|
+
>
|
|
421
|
+
Recreate sandbox
|
|
422
|
+
</button>
|
|
423
|
+
)} */}
|
|
424
|
+
</div>
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
)}
|
|
324
428
|
<div className="absolute top-2 right-2 bg-green-100 text-green-800 px-2 py-1 rounded text-xs z-10">
|
|
325
429
|
Live Preview
|
|
326
430
|
</div>
|
|
327
|
-
{
|
|
431
|
+
{loading && (
|
|
328
432
|
<>
|
|
329
433
|
<div className="absolute inset-0 bg-white/60 flex items-center justify-center z-20">
|
|
330
434
|
<div className="animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"></div>
|
|
@@ -342,13 +446,13 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
342
446
|
<div className="text-center space-y-3">
|
|
343
447
|
<p className="font-medium">No preview available</p>
|
|
344
448
|
<div className="flex flex-col items-center justify-center space-y-3">
|
|
345
|
-
{
|
|
449
|
+
{loading ? (
|
|
346
450
|
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"></div>
|
|
347
451
|
) : (
|
|
348
452
|
<div className="w-8 h-8 bg-gray-300 rounded-full"></div>
|
|
349
453
|
)}
|
|
350
454
|
<p className="text-sm text-gray-400">
|
|
351
|
-
{
|
|
455
|
+
{loading ? 'Generating code...' : 'Waiting for code generation...'}
|
|
352
456
|
</p>
|
|
353
457
|
</div>
|
|
354
458
|
</div>
|
|
@@ -372,7 +476,7 @@ export const RightSidebarFillComponent = (props: RightSidebarProps) => {
|
|
|
372
476
|
debounceMs={500}
|
|
373
477
|
className="h-full w-full"
|
|
374
478
|
/>
|
|
375
|
-
{
|
|
479
|
+
{loading && (
|
|
376
480
|
<>
|
|
377
481
|
<div className="absolute inset-0 bg-white/60 flex items-center justify-center z-20">
|
|
378
482
|
<div className="animate-spin rounded-full h-12 w-12 border-4 border-blue-500 border-t-transparent"></div>
|
|
@@ -22,6 +22,7 @@ type RightSidebarProps = {
|
|
|
22
22
|
messages?: any[];
|
|
23
23
|
setIsLoading?: (isLoading: boolean) => void;
|
|
24
24
|
handleSendMessage?: (createChannelInput: ICreateChannelInput) => void;
|
|
25
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
25
26
|
isLoading?: boolean;
|
|
26
27
|
[key: string]: any;
|
|
27
28
|
};
|
package/src/compute.ts
CHANGED
|
@@ -57,7 +57,8 @@ export const messengerPageStore: IRouteModule[] | { [key: string]: any } = [
|
|
|
57
57
|
exact: false,
|
|
58
58
|
icon: 'AiOutlineInbox',
|
|
59
59
|
key: 'ai-messenger',
|
|
60
|
-
component: () => import('./container/InboxWithAiLoader'),
|
|
60
|
+
///component: () => import('./container/InboxWithAiLoader'),
|
|
61
|
+
component: () => import('./container/TestInboxWithAiLoader'),
|
|
61
62
|
tab: 'Ai Messenger',
|
|
62
63
|
position: IMenuPosition.Middle,
|
|
63
64
|
name: 'AiMessenger',
|
|
@@ -67,7 +68,8 @@ export const messengerPageStore: IRouteModule[] | { [key: string]: any } = [
|
|
|
67
68
|
exact: false,
|
|
68
69
|
icon: 'AiOutlineInbox',
|
|
69
70
|
key: 'ai-messenger-with-org-name',
|
|
70
|
-
component: () => import('./container/
|
|
71
|
+
component: () => import('./container/TestInboxWithAiLoader'),
|
|
72
|
+
// component: () => import('./container/InboxWithAiLoader'),
|
|
71
73
|
tab: 'Ai Messenger',
|
|
72
74
|
position: IMenuPosition.Middle,
|
|
73
75
|
name: 'AiMessengerWithOrgName',
|
|
@@ -37,7 +37,7 @@ interface InboxWithAiLoaderProps {
|
|
|
37
37
|
supportServices?: boolean;
|
|
38
38
|
pathPrefix?: string;
|
|
39
39
|
orgName?: string;
|
|
40
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
40
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
41
41
|
[key: string]: any;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import InboxWithAiLoader from './InboxWithAiLoader';
|
|
3
|
+
import { useParams } from '@remix-run/react';
|
|
4
|
+
import { useRecreateSandboxMutation } from 'common/graphql';
|
|
5
|
+
const TestInboxWithAiLoaderOutlet = () => {
|
|
6
|
+
const { orgName } = useParams();
|
|
7
|
+
const [recreateSandbox, { loading, error }] = useRecreateSandboxMutation();
|
|
8
|
+
const handleRecreateSandbox = async (messageId: string) => {
|
|
9
|
+
console.log('recreateSandbox', messageId);
|
|
10
|
+
const response = await recreateSandbox({
|
|
11
|
+
variables: {
|
|
12
|
+
messageId,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
return response;
|
|
16
|
+
};
|
|
17
|
+
return <InboxWithAiLoader orgName={orgName} handleRecreateSandbox={handleRecreateSandbox} />;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default React.memo(TestInboxWithAiLoaderOutlet);
|
|
21
|
+
|
|
22
|
+
TestInboxWithAiLoaderOutlet.displayName = 'TestInboxWithAiLoaderOutlet';
|
|
@@ -32,7 +32,7 @@ export interface InboxProps {
|
|
|
32
32
|
pathPrefix?: string;
|
|
33
33
|
data?: any;
|
|
34
34
|
orgName?: string;
|
|
35
|
-
handleRecreateSandbox?: (messageId: string) => void
|
|
35
|
+
handleRecreateSandbox?: (messageId: string) => void | Promise<any>;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
// Static utility hooks and components
|
|
@@ -147,7 +147,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
147
147
|
} catch (err) {
|
|
148
148
|
console.error('Error recreating sandbox:', err);
|
|
149
149
|
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
150
|
-
setIsLoading(false);
|
|
150
|
+
// setIsLoading(false);
|
|
151
151
|
}
|
|
152
152
|
},
|
|
153
153
|
[recreateSandbox, channelId],
|
|
@@ -384,6 +384,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
384
384
|
setIsLoading={setIsLoading}
|
|
385
385
|
isLoading={isLoading}
|
|
386
386
|
handleSendMessage={handleSendMessage}
|
|
387
|
+
handleRecreateSandbox={props?.handleRecreateSandbox || null}
|
|
387
388
|
isMinimized={isMinimized}
|
|
388
389
|
{...props}
|
|
389
390
|
/>
|
|
@@ -578,6 +579,7 @@ const RightSidebarContent = React.memo(
|
|
|
578
579
|
setIsLoading,
|
|
579
580
|
isLoading,
|
|
580
581
|
handleSendMessage,
|
|
582
|
+
handleRecreateSandbox,
|
|
581
583
|
isMinimized,
|
|
582
584
|
...props
|
|
583
585
|
}: any) => {
|
|
@@ -603,6 +605,7 @@ const RightSidebarContent = React.memo(
|
|
|
603
605
|
isLoading={isLoading}
|
|
604
606
|
handleSendMessage={handleSendMessage}
|
|
605
607
|
isMinimized={isMinimized}
|
|
608
|
+
handleRecreateSandbox={handleRecreateSandbox}
|
|
606
609
|
{...props}
|
|
607
610
|
/>
|
|
608
611
|
</div>
|