@messenger-box/tailwind-ui-inbox 10.0.3-alpha.95 → 10.0.3-alpha.97
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/container/AiLandingInput.d.ts.map +1 -1
- package/lib/container/AiLandingInput.js +11 -2
- package/lib/container/AiLandingInput.js.map +1 -1
- package/lib/templates/InboxWithAi.d.ts.map +1 -1
- package/lib/templates/InboxWithAi.js +2 -26
- package/lib/templates/InboxWithAi.js.map +1 -1
- package/lib/templates/InboxWithAi.tsx +2 -32
- package/package.json +4 -4
- package/src/container/AiLandingInput.tsx +11 -2
- package/src/templates/InboxWithAi.tsx +2 -32
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.97](https://github.com/cdmbase/messenger-box/compare/v10.0.3-alpha.96...v10.0.3-alpha.97) (2025-09-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
9
|
+
|
|
10
|
+
## [10.0.3-alpha.96](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.95...v10.0.3-alpha.96) (2025-09-23)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
13
|
+
|
|
6
14
|
## [10.0.3-alpha.95](https://github.com/CDEBase/messenger-box/compare/v10.0.3-alpha.94...v10.0.3-alpha.95) (2025-09-23)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @messenger-box/tailwind-ui-inbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiLandingInput.d.ts","sourceRoot":"","sources":["../../src/container/AiLandingInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;;
|
|
1
|
+
{"version":3,"file":"AiLandingInput.d.ts","sourceRoot":"","sources":["../../src/container/AiLandingInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;;AAqN1B,wBAA0C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {useNavigate}from'@remix-run/react';import'date-fns';import'@react-icons/all-files/bs/BsFlag.js';import'../components/inbox/FilesList.js';import'../components/inbox/MessageItem.js';import'../components/inbox/ThreadItem.js';import'../components/InboxMessage/ConversationItem.js';import'../components/InboxMessage/ServiceConversationItem.js';import'../components/InboxMessage/LeftSidebar.js';import'react-i18next';import'../config/env-config.js';import'@react-icons/all-files/bi/BiImage.js';import'@react-icons/all-files/ai/AiOutlineSecurityScan.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/bs/BsFillStarFill.js';import'
|
|
1
|
+
import React__default from'react';import {useNavigate}from'@remix-run/react';import {AiAgentMessageRole}from'common';import'date-fns';import'@react-icons/all-files/bs/BsFlag.js';import'../components/inbox/FilesList.js';import'../components/inbox/MessageItem.js';import'../components/inbox/ThreadItem.js';import'../components/InboxMessage/ConversationItem.js';import'../components/InboxMessage/ServiceConversationItem.js';import'../components/InboxMessage/LeftSidebar.js';import'react-i18next';import'../config/env-config.js';import'@react-icons/all-files/bi/BiImage.js';import'@react-icons/all-files/ai/AiOutlineSecurityScan.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/bs/BsFillStarFill.js';import'@common-stack/components-pro';import'react-markdown';import'remark-gfm';import'../enums/messenger-slot-fill-name-enum.js';import'../components/InboxMessage/ServiceInboxItem.js';import {InputComponent}from'../components/InboxMessage/InputComponent.js';import {objectId}from'@messenger-box/core';import {useCreateChannelWithProjectIdMutation,useAddChannelMutation,useSendMessagesMutation}from'common/graphql';import {usePersistentModelConfig}from'../hooks/usePersistentModelConfig.js';const TailwindOverlaySpinner = React__default.memo(() => React__default.createElement("div", {
|
|
2
2
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-30"
|
|
3
3
|
}, React__default.createElement("div", {
|
|
4
4
|
className: "animate-spin rounded-full h-10 w-10 border-2 border-white border-t-transparent"
|
|
@@ -53,7 +53,16 @@ const AiLandingInput = () => {
|
|
|
53
53
|
variables: {
|
|
54
54
|
projectId: id,
|
|
55
55
|
channelInput: {
|
|
56
|
-
|
|
56
|
+
postData: {
|
|
57
|
+
content: message,
|
|
58
|
+
props: {
|
|
59
|
+
template: modelConfig?.template || 'vite-react',
|
|
60
|
+
projectId: id,
|
|
61
|
+
role: AiAgentMessageRole.User,
|
|
62
|
+
fragment: {},
|
|
63
|
+
sendNotificationWithProjectId: false
|
|
64
|
+
}
|
|
65
|
+
},
|
|
57
66
|
modelConfig: modelConfig
|
|
58
67
|
}
|
|
59
68
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiLandingInput.js","sources":["../../src/container/AiLandingInput.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AiLandingInput.js","sources":["../../src/container/AiLandingInput.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"gsCASA,MAAM,sBAAsB,GAAGA,cAAK,CAAC,IAAI,CAAC,MAAMA,cAC5C,CAAA,aAAA,CAAA,KAAA,EAAA;AACI,EAAA,SAAA,EAAA;AAIR,CAAA,EAAAA,cAAM,CAAA,aAAc,CAAa,KAAK,EAAA;AAClC,EAAA,SAAO,EAAA;AACP,CAAA,CAAA,CAAA,CAAA;AACA,MAAA,cAAO,GAAY,MAAG;AACtB,EAAA,MAAA,CAAA,0BAA+B,CAAA,GAAA,qCAAA,EAAA;AAC/B,EAAA,MAAA,CAAA,UAAO,CAAA,GAAA,qBAAmB,EAAA;AAC1B,EAAA,MAAA,CAAA,WAAQ,CAAA,GAAW,uBAAqB,EAAA;QACxC,QAAA,GAAA,WAAA,EAAA;AACA,EAAA,MAAA,CAAA,iBAAsB,EAAE,oBAAmB,CAAA,GAAGA,cAAM,CAAA,QAAS,CAAA,KAAM,CAAA;AAEnE,EAAA,MAAA;eAEQ;qBACI;sBACI;;AAEI,GAAA,GAAA,wBAAA,EAAA;;AAGA,EAAA,MAAA,CAAA,eAAA,EAAA,kBAAA,CAAA,GAAAA,uBAAgB,CAAA,IAAO,CAAA;qCAiBX,CAAA,KAAA,EAAA;AAEI,IAAA,SAAA,EAAA;AAKJ,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AASR,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAM,EAAA;AACN,IAAA,SAAA,EAAA;uCACI,EAAA;;iCAEJ,CAAC,IAAA,EAAA;;oCAED,CAAA,EAAAA,cAAoB,CAAC,aAAM,CAAA,GAAA,EAAA;AAC3B,IAAA,SAAA,EAAA;AACA,GAAA,EAAA,8DAA2B,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACvB,IAAA,SAAA,EAAA;AACI,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACA,IAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,SAAA,GAAA,kCAAc,GAAA,EAAA,CAAA;AACV,GAAA,EAAA,CAAA,SAAA,IAAAA,cAAA,CAAA,aAAA,CAAAA,cAAQ,CAAA,QAAE,EAAA,IAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACN,IAAA,SAAA,EAAA;AACA,GAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AACI,IAAA,SAAA,EAAA;AACA,GAAA,EAAA,wFAAa,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAEb,GAAA,EAAA,2EAAY,CAAA,CAAA,CAAA,CAAA,EAAAA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AACZ,IAAA,UAAA,EAAA,OAAA,OAAA,EAAA,KAAA,KAAA;AACH,MAAA,MAAA,SAAA,GAAA,kBAAA,EAAA;AACJ,MAAA,IAAA,CAAA,SAAA,IAAA,CAAA,SAAA,EAAA;AACD,QAAA,kBAAA,CAAA,IAAA,CAAA;AACH,QAAA;AACJ,MAAA;AACD,MAAA,OAAA,CAAA,GAAA,CAAA,+BAAyB,EAAE,OAAA,EAAA,KAAA,CAAA;AACvB,MAAA,oBAAA,CAAA,IAAA,CAAA;AACA,MAAA,MAAA,EAAA,GAAA,QAAA,EAAA;;;;;;8BAMH;AACD,cAAA,KAAA,EAAA;AACI,gBAAA,QAAA,EAAA,WAAA,EAAO;;wCAEV,CAAA,IAAA;AACJ,gBAAA,QAAA,EAAC,EAAC;AACP,gBAAA,6BACY,EAAA;AA8FhB;AAKP,aAAA;AAGb,YAAE,WAAA,EAAA;AAEF;AAEA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxWithAi.d.ts","sourceRoot":"","sources":["../../src/templates/InboxWithAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAgBf,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;CACpB;;YA0D2B,UAAU;;;
|
|
1
|
+
{"version":3,"file":"InboxWithAi.d.ts","sourceRoot":"","sources":["../../src/templates/InboxWithAi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAUN,MAAM,OAAO,CAAC;AAgBf,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;CACpB;;YA0D2B,UAAU;;;AAybtC,wBAAuC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{createContext,useContext,useState,useCallback,useMemo,useEffect}from'react';import {useParams,useLocation,Outlet}from'@remix-run/react';import {RightSidebarAi}from'../components/InboxMessage/RightSidebarAi.js';import {useRecreateSandboxMutation
|
|
1
|
+
import React__default,{createContext,useContext,useState,useCallback,useMemo,useEffect}from'react';import {useParams,useLocation,Outlet}from'@remix-run/react';import {RightSidebarAi}from'../components/InboxMessage/RightSidebarAi.js';import {useRecreateSandboxMutation}from'common/graphql';import {usePersistentModelConfig}from'../hooks/usePersistentModelConfig.js';// Context for sharing tab state between header and sidebar
|
|
2
2
|
const TabContext = createContext({
|
|
3
3
|
activeTab: 'preview',
|
|
4
4
|
setActiveTab: () => {}
|
|
@@ -73,7 +73,6 @@ const InboxWithAiInternal = props => {
|
|
|
73
73
|
const [messages, setMessages] = useState([]);
|
|
74
74
|
const [selectedPost, setSelectedPost] = useState(null);
|
|
75
75
|
const [recreateSandbox] = useRecreateSandboxMutation();
|
|
76
|
-
const [regenerateAiCode] = useRegenerateAiCodeMutation();
|
|
77
76
|
const {
|
|
78
77
|
modelConfig,
|
|
79
78
|
getValidatedConfig,
|
|
@@ -83,29 +82,6 @@ const InboxWithAiInternal = props => {
|
|
|
83
82
|
const [errorData, setError] = useState(null);
|
|
84
83
|
// Extract channelId from query parameters (priority) or path parameters (fallback)
|
|
85
84
|
const channelId = urlParams?.get('id') || pathChannelId;
|
|
86
|
-
const regenerateAiCodeForFragment = useCallback(async messageId => {
|
|
87
|
-
try {
|
|
88
|
-
setIsLoading(true);
|
|
89
|
-
setError(null);
|
|
90
|
-
const response = await regenerateAiCode({
|
|
91
|
-
variables: {
|
|
92
|
-
messageId: messageId,
|
|
93
|
-
modelConfig: modelConfig
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
if (response.data?.regenerateAiCode?.success) {
|
|
97
|
-
console.log('Sandbox recreation initiated successfully');
|
|
98
|
-
// The subscription will handle updating the UI with the new sandbox URL
|
|
99
|
-
} else {
|
|
100
|
-
const errorMsg = response.data?.regenerateAiCode?.message || 'Failed to regenerate AI code';
|
|
101
|
-
throw new Error(errorMsg);
|
|
102
|
-
}
|
|
103
|
-
} catch (err) {
|
|
104
|
-
console.error('Error recreating sandbox:', err);
|
|
105
|
-
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
106
|
-
setIsLoading(false);
|
|
107
|
-
}
|
|
108
|
-
}, [regenerateAiCode, modelConfig]);
|
|
109
85
|
const recreateSandboxForFragment = useCallback(async messageId => {
|
|
110
86
|
if (!channelId) {
|
|
111
87
|
console.error('No project ID available for sandbox recreation');
|
|
@@ -138,7 +114,7 @@ const InboxWithAiInternal = props => {
|
|
|
138
114
|
if (selectedPost) {
|
|
139
115
|
recreateSandboxForFragment(selectedPost.id);
|
|
140
116
|
}
|
|
141
|
-
}, [activeTab, selectedPost,
|
|
117
|
+
}, [activeTab, selectedPost, recreateSandboxForFragment]);
|
|
142
118
|
// Hooks - improved responsive breakpoints with better granularity
|
|
143
119
|
const {
|
|
144
120
|
width: windowWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InboxWithAi.js","sources":["../../src/templates/InboxWithAi.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import React, {
|
|
|
11
11
|
} from 'react';
|
|
12
12
|
import { Outlet, useNavigate, useParams, useLocation } from '@remix-run/react';
|
|
13
13
|
import { RightSidebarAi } from '../components/InboxMessage/RightSidebarAi';
|
|
14
|
-
import { useRecreateSandboxMutation
|
|
14
|
+
import { useRecreateSandboxMutation } from 'common/graphql';
|
|
15
15
|
import { usePersistentModelConfig } from '../hooks/usePersistentModelConfig';
|
|
16
16
|
import { useFileSync } from '../hooks/use-file-sync';
|
|
17
17
|
|
|
@@ -108,42 +108,12 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
108
108
|
const [messages, setMessages] = useState<any[]>([]);
|
|
109
109
|
const [selectedPost, setSelectedPost] = useState<any>(null);
|
|
110
110
|
const [recreateSandbox] = useRecreateSandboxMutation();
|
|
111
|
-
const [regenerateAiCode] = useRegenerateAiCodeMutation();
|
|
112
111
|
const { modelConfig, getValidatedConfig, hasApiKey } = usePersistentModelConfig();
|
|
113
112
|
const [isLoading, setIsLoading] = useState(true);
|
|
114
113
|
const [errorData, setError] = useState<string | null>(null);
|
|
115
114
|
// Extract channelId from query parameters (priority) or path parameters (fallback)
|
|
116
115
|
const channelId = urlParams?.get('id') || pathChannelId;
|
|
117
116
|
|
|
118
|
-
const regenerateAiCodeForFragment = useCallback(
|
|
119
|
-
async (messageId: string) => {
|
|
120
|
-
try {
|
|
121
|
-
setIsLoading(true);
|
|
122
|
-
setError(null);
|
|
123
|
-
|
|
124
|
-
const response = await regenerateAiCode({
|
|
125
|
-
variables: {
|
|
126
|
-
messageId: messageId,
|
|
127
|
-
modelConfig: modelConfig,
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
if (response.data?.regenerateAiCode?.success) {
|
|
132
|
-
console.log('Sandbox recreation initiated successfully');
|
|
133
|
-
// The subscription will handle updating the UI with the new sandbox URL
|
|
134
|
-
} else {
|
|
135
|
-
const errorMsg = response.data?.regenerateAiCode?.message || 'Failed to regenerate AI code';
|
|
136
|
-
throw new Error(errorMsg);
|
|
137
|
-
}
|
|
138
|
-
} catch (err) {
|
|
139
|
-
console.error('Error recreating sandbox:', err);
|
|
140
|
-
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
141
|
-
setIsLoading(false);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
[regenerateAiCode, modelConfig],
|
|
145
|
-
);
|
|
146
|
-
|
|
147
117
|
const recreateSandboxForFragment = useCallback(
|
|
148
118
|
async (messageId: string) => {
|
|
149
119
|
if (!channelId) {
|
|
@@ -183,7 +153,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
183
153
|
if (selectedPost) {
|
|
184
154
|
recreateSandboxForFragment(selectedPost.id);
|
|
185
155
|
}
|
|
186
|
-
}, [activeTab, selectedPost,
|
|
156
|
+
}, [activeTab, selectedPost, recreateSandboxForFragment]);
|
|
187
157
|
|
|
188
158
|
// Hooks - improved responsive breakpoints with better granularity
|
|
189
159
|
const { width: windowWidth, height: windowHeight } = useWindowDimensions();
|
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.97",
|
|
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.97",
|
|
25
|
+
"@messenger-box/platform-client": "10.0.3-alpha.97",
|
|
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": "149932789ecba959efee49ee053b3548e54149b7"
|
|
62
62
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useNavigate } from '@remix-run/react';
|
|
3
|
-
import { RoomType } from 'common';
|
|
3
|
+
import { AiAgentMessageRole, RoomType } from 'common';
|
|
4
4
|
import { InputComponent } from '../components/InboxMessage';
|
|
5
5
|
import { objectId } from '@messenger-box/core';
|
|
6
6
|
import { useAddChannelMutation, useSendMessagesMutation, useCreateChannelWithProjectIdMutation } from 'common/graphql';
|
|
@@ -77,7 +77,16 @@ const AiLandingInput: React.FC = () => {
|
|
|
77
77
|
variables: {
|
|
78
78
|
projectId: id,
|
|
79
79
|
channelInput: {
|
|
80
|
-
|
|
80
|
+
postData: {
|
|
81
|
+
content: message,
|
|
82
|
+
props: {
|
|
83
|
+
template: modelConfig?.template || 'vite-react',
|
|
84
|
+
projectId: id,
|
|
85
|
+
role: AiAgentMessageRole.User,
|
|
86
|
+
fragment: {},
|
|
87
|
+
sendNotificationWithProjectId: false,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
81
90
|
modelConfig: modelConfig,
|
|
82
91
|
},
|
|
83
92
|
},
|
|
@@ -11,7 +11,7 @@ import React, {
|
|
|
11
11
|
} from 'react';
|
|
12
12
|
import { Outlet, useNavigate, useParams, useLocation } from '@remix-run/react';
|
|
13
13
|
import { RightSidebarAi } from '../components/InboxMessage/RightSidebarAi';
|
|
14
|
-
import { useRecreateSandboxMutation
|
|
14
|
+
import { useRecreateSandboxMutation } from 'common/graphql';
|
|
15
15
|
import { usePersistentModelConfig } from '../hooks/usePersistentModelConfig';
|
|
16
16
|
import { useFileSync } from '../hooks/use-file-sync';
|
|
17
17
|
|
|
@@ -108,42 +108,12 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
108
108
|
const [messages, setMessages] = useState<any[]>([]);
|
|
109
109
|
const [selectedPost, setSelectedPost] = useState<any>(null);
|
|
110
110
|
const [recreateSandbox] = useRecreateSandboxMutation();
|
|
111
|
-
const [regenerateAiCode] = useRegenerateAiCodeMutation();
|
|
112
111
|
const { modelConfig, getValidatedConfig, hasApiKey } = usePersistentModelConfig();
|
|
113
112
|
const [isLoading, setIsLoading] = useState(true);
|
|
114
113
|
const [errorData, setError] = useState<string | null>(null);
|
|
115
114
|
// Extract channelId from query parameters (priority) or path parameters (fallback)
|
|
116
115
|
const channelId = urlParams?.get('id') || pathChannelId;
|
|
117
116
|
|
|
118
|
-
const regenerateAiCodeForFragment = useCallback(
|
|
119
|
-
async (messageId: string) => {
|
|
120
|
-
try {
|
|
121
|
-
setIsLoading(true);
|
|
122
|
-
setError(null);
|
|
123
|
-
|
|
124
|
-
const response = await regenerateAiCode({
|
|
125
|
-
variables: {
|
|
126
|
-
messageId: messageId,
|
|
127
|
-
modelConfig: modelConfig,
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
if (response.data?.regenerateAiCode?.success) {
|
|
132
|
-
console.log('Sandbox recreation initiated successfully');
|
|
133
|
-
// The subscription will handle updating the UI with the new sandbox URL
|
|
134
|
-
} else {
|
|
135
|
-
const errorMsg = response.data?.regenerateAiCode?.message || 'Failed to regenerate AI code';
|
|
136
|
-
throw new Error(errorMsg);
|
|
137
|
-
}
|
|
138
|
-
} catch (err) {
|
|
139
|
-
console.error('Error recreating sandbox:', err);
|
|
140
|
-
setError(err instanceof Error ? err.message : 'Failed to recreate sandbox');
|
|
141
|
-
setIsLoading(false);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
[regenerateAiCode, modelConfig],
|
|
145
|
-
);
|
|
146
|
-
|
|
147
117
|
const recreateSandboxForFragment = useCallback(
|
|
148
118
|
async (messageId: string) => {
|
|
149
119
|
if (!channelId) {
|
|
@@ -183,7 +153,7 @@ const InboxWithAiInternal = (props: InboxProps) => {
|
|
|
183
153
|
if (selectedPost) {
|
|
184
154
|
recreateSandboxForFragment(selectedPost.id);
|
|
185
155
|
}
|
|
186
|
-
}, [activeTab, selectedPost,
|
|
156
|
+
}, [activeTab, selectedPost, recreateSandboxForFragment]);
|
|
187
157
|
|
|
188
158
|
// Hooks - improved responsive breakpoints with better granularity
|
|
189
159
|
const { width: windowWidth, height: windowHeight } = useWindowDimensions();
|