Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
赵月辉
/
fastgpt-migrated
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
6f75c1b8
authored
Jul 18, 2025
by
heheer
Committed by
GitHub
Jul 18, 2025
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix node variable update render (#5251)
* fix node variable update render * editor value formatted * fix
parent
530f30e3
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
56 additions
and
30 deletions
+56
-30
packages/web/components/common/Textarea/PromptEditor/index.tsx
+8
-2
projects/app/src/components/core/app/formRender/utils.ts
+5
-1
projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx
+3
-2
projects/app/src/components/core/chat/ChatContainer/ChatBox/components/VariableInputForm.tsx
+13
-11
projects/app/src/components/core/chat/ChatContainer/ChatBox/constants.ts
+7
-0
projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx
+3
-3
projects/app/src/pageComponents/app/detail/Logs/DetailLogsModal.tsx
+2
-1
projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx
+7
-6
projects/app/src/pageComponents/app/detail/useChatTest.tsx
+2
-1
projects/app/src/pages/chat/index.tsx
+2
-1
projects/app/src/pages/chat/share.tsx
+2
-1
projects/app/src/pages/chat/team.tsx
+2
-1
No files found.
packages/web/components/common/Textarea/PromptEditor/index.tsx
View file @
6f75c1b8
import
type
{
BoxProps
}
from
'@chakra-ui/react'
;
import
type
{
BoxProps
}
from
'@chakra-ui/react'
;
import
{
Box
,
Button
,
ModalBody
,
ModalFooter
,
useDisclosure
}
from
'@chakra-ui/react'
;
import
{
Box
,
Button
,
ModalBody
,
ModalFooter
,
useDisclosure
}
from
'@chakra-ui/react'
;
import
React
from
'react'
;
import
React
,
{
useMemo
}
from
'react'
;
import
{
editorStateToText
}
from
'./utils'
;
import
{
editorStateToText
}
from
'./utils'
;
import
Editor
from
'./Editor'
;
import
Editor
from
'./Editor'
;
import
MyModal
from
'../../MyModal'
;
import
MyModal
from
'../../MyModal'
;
...
@@ -58,6 +58,12 @@ const PromptEditor = ({
...
@@ -58,6 +58,12 @@ const PromptEditor = ({
},
},
[
onBlur
]
[
onBlur
]
);
);
const
formattedValue
=
useMemo
(()
=>
{
if
(
typeof
value
===
'object'
)
{
return
JSON
.
stringify
(
value
);
}
return
value
;
},
[
value
]);
return
(
return
(
<>
<>
...
@@ -70,7 +76,7 @@ const PromptEditor = ({
...
@@ -70,7 +76,7 @@ const PromptEditor = ({
minH=
{
minH
}
minH=
{
minH
}
maxH=
{
maxH
}
maxH=
{
maxH
}
maxLength=
{
maxLength
}
maxLength=
{
maxLength
}
value=
{
v
alue
}
value=
{
formattedV
alue
}
onChange=
{
onChangeInput
}
onChange=
{
onChangeInput
}
onBlur=
{
onBlurInput
}
onBlur=
{
onBlurInput
}
placeholder=
{
placeholder
}
placeholder=
{
placeholder
}
...
...
projects/app/src/components/core/app/formRender/utils.ts
View file @
6f75c1b8
...
@@ -6,11 +6,15 @@ import { InputTypeEnum } from './constant';
...
@@ -6,11 +6,15 @@ import { InputTypeEnum } from './constant';
import
{
FlowNodeInputTypeEnum
}
from
'@fastgpt/global/core/workflow/node/constant'
;
import
{
FlowNodeInputTypeEnum
}
from
'@fastgpt/global/core/workflow/node/constant'
;
import
type
{
InputConfigType
}
from
'@fastgpt/global/core/workflow/type/io'
;
import
type
{
InputConfigType
}
from
'@fastgpt/global/core/workflow/type/io'
;
export
const
variableInputTypeToInputType
=
(
inputType
:
VariableInputEnum
)
=>
{
export
const
variableInputTypeToInputType
=
(
inputType
:
VariableInputEnum
,
valueType
?:
WorkflowIOValueTypeEnum
)
=>
{
if
(
inputType
===
VariableInputEnum
.
input
)
return
InputTypeEnum
.
input
;
if
(
inputType
===
VariableInputEnum
.
input
)
return
InputTypeEnum
.
input
;
if
(
inputType
===
VariableInputEnum
.
textarea
)
return
InputTypeEnum
.
textarea
;
if
(
inputType
===
VariableInputEnum
.
textarea
)
return
InputTypeEnum
.
textarea
;
if
(
inputType
===
VariableInputEnum
.
numberInput
)
return
InputTypeEnum
.
numberInput
;
if
(
inputType
===
VariableInputEnum
.
numberInput
)
return
InputTypeEnum
.
numberInput
;
if
(
inputType
===
VariableInputEnum
.
select
)
return
InputTypeEnum
.
select
;
if
(
inputType
===
VariableInputEnum
.
select
)
return
InputTypeEnum
.
select
;
if
(
inputType
===
VariableInputEnum
.
custom
)
return
valueTypeToInputType
(
valueType
);
return
InputTypeEnum
.
JSONEditor
;
return
InputTypeEnum
.
JSONEditor
;
};
};
...
...
projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx
View file @
6f75c1b8
...
@@ -23,13 +23,14 @@ import { getChatResData } from '@/web/core/chat/api';
...
@@ -23,13 +23,14 @@ import { getChatResData } from '@/web/core/chat/api';
import
{
ChatItemContext
}
from
'@/web/core/chat/context/chatItemContext'
;
import
{
ChatItemContext
}
from
'@/web/core/chat/context/chatItemContext'
;
import
{
ChatRecordContext
}
from
'@/web/core/chat/context/chatRecordContext'
;
import
{
ChatRecordContext
}
from
'@/web/core/chat/context/chatRecordContext'
;
import
{
useCreation
}
from
'ahooks'
;
import
{
useCreation
}
from
'ahooks'
;
import
type
{
ChatTypeEnum
}
from
'./constants'
;
export
type
ChatProviderProps
=
{
export
type
ChatProviderProps
=
{
appId
:
string
;
appId
:
string
;
chatId
:
string
;
chatId
:
string
;
outLinkAuthData
?:
OutLinkChatAuthProps
;
outLinkAuthData
?:
OutLinkChatAuthProps
;
chatType
:
'log'
|
'chat'
|
'share'
|
'team'
;
chatType
:
ChatTypeEnum
;
};
};
type
useChatStoreType
=
ChatProviderProps
&
{
type
useChatStoreType
=
ChatProviderProps
&
{
...
@@ -130,7 +131,7 @@ const Provider = ({
...
@@ -130,7 +131,7 @@ const Provider = ({
appId
,
appId
,
chatId
,
chatId
,
outLinkAuthData
,
outLinkAuthData
,
chatType
=
'chat'
,
chatType
,
children
,
children
,
...
props
...
props
}:
ChatProviderProps
&
{
}:
ChatProviderProps
&
{
...
...
projects/app/src/components/core/chat/ChatContainer/ChatBox/components/VariableInputForm.tsx
View file @
6f75c1b8
...
@@ -79,17 +79,19 @@ const VariableInput = ({
...
@@ -79,17 +79,19 @@ const VariableInput = ({
<
MyIcon
name=
{
'common/info'
}
color=
{
'primary.600'
}
w=
{
4
}
/>
<
MyIcon
name=
{
'common/info'
}
color=
{
'primary.600'
}
w=
{
4
}
/>
{
t
(
'chat:variable_invisable_in_share'
)
}
{
t
(
'chat:variable_invisable_in_share'
)
}
</
Flex
>
</
Flex
>
{
externalVariableList
.
map
((
item
)
=>
(
{
externalVariableList
.
map
((
item
)
=>
{
<
LabelAndFormRender
return
(
{
...
item
}
<
LabelAndFormRender
key=
{
item
.
key
}
{
...
item
}
formKey=
{
`variables.${item.key}`
}
key=
{
item
.
key
}
placeholder=
{
item
.
description
}
formKey=
{
`variables.${item.key}`
}
inputType=
{
variableInputTypeToInputType
(
item
.
type
)
}
placeholder=
{
item
.
description
}
variablesForm=
{
variablesForm
}
inputType=
{
variableInputTypeToInputType
(
item
.
type
,
item
.
valueType
)
}
bg=
{
'myGray.50'
}
variablesForm=
{
variablesForm
}
/>
bg=
{
'myGray.50'
}
))
}
/>
);
})
}
{
variableList
.
length
===
0
&&
!
chatStarted
&&
(
{
variableList
.
length
===
0
&&
!
chatStarted
&&
(
<
Button
<
Button
leftIcon=
{
<
MyIcon
name=
{
'core/chat/chatFill'
}
w=
{
'16px'
}
/>
}
leftIcon=
{
<
MyIcon
name=
{
'core/chat/chatFill'
}
w=
{
'16px'
}
/>
}
...
...
projects/app/src/components/core/chat/ChatContainer/ChatBox/constants.ts
View file @
6f75c1b8
...
@@ -17,3 +17,10 @@ export enum FeedbackTypeEnum {
...
@@ -17,3 +17,10 @@ export enum FeedbackTypeEnum {
admin
=
'admin'
,
admin
=
'admin'
,
hidden
=
'hidden'
hidden
=
'hidden'
}
}
export
enum
ChatTypeEnum
{
chat
=
'chat'
,
log
=
'log'
,
share
=
'share'
,
team
=
'team'
}
projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx
View file @
6f75c1b8
...
@@ -47,7 +47,7 @@ import {
...
@@ -47,7 +47,7 @@ import {
formatChatValue2InputType
,
formatChatValue2InputType
,
setUserSelectResultToHistories
setUserSelectResultToHistories
}
from
'./utils'
;
}
from
'./utils'
;
import
{
textareaMinH
}
from
'./constants'
;
import
{
ChatTypeEnum
,
textareaMinH
}
from
'./constants'
;
import
{
SseResponseEventEnum
}
from
'@fastgpt/global/core/workflow/runtime/constants'
;
import
{
SseResponseEventEnum
}
from
'@fastgpt/global/core/workflow/runtime/constants'
;
import
ChatProvider
,
{
ChatBoxContext
,
type
ChatProviderProps
}
from
'./Provider'
;
import
ChatProvider
,
{
ChatBoxContext
,
type
ChatProviderProps
}
from
'./Provider'
;
...
@@ -155,7 +155,7 @@ const ChatBox = ({
...
@@ -155,7 +155,7 @@ const ChatBox = ({
const
isInteractive
=
useMemo
(()
=>
checkIsInteractiveByHistories
(
chatRecords
),
[
chatRecords
]);
const
isInteractive
=
useMemo
(()
=>
checkIsInteractiveByHistories
(
chatRecords
),
[
chatRecords
]);
const
externalVariableList
=
useMemo
(()
=>
{
const
externalVariableList
=
useMemo
(()
=>
{
if
(
chatType
===
'chat'
)
{
if
(
[
ChatTypeEnum
.
log
,
ChatTypeEnum
.
chat
].
includes
(
chatType
)
)
{
return
allVariableList
.
filter
((
item
)
=>
item
.
type
===
VariableInputEnum
.
custom
);
return
allVariableList
.
filter
((
item
)
=>
item
.
type
===
VariableInputEnum
.
custom
);
}
}
return
[];
return
[];
...
@@ -972,7 +972,7 @@ const ChatBox = ({
...
@@ -972,7 +972,7 @@ const ChatBox = ({
<
VariableInputForm
<
VariableInputForm
chatStarted=
{
chatStarted
}
chatStarted=
{
chatStarted
}
chatForm=
{
chatForm
}
chatForm=
{
chatForm
}
showExternalVariables=
{
chatType
===
'chat'
}
showExternalVariables=
{
[
ChatTypeEnum
.
log
,
ChatTypeEnum
.
chat
].
includes
(
chatType
)
}
/>
/>
</
Box
>
</
Box
>
)
}
)
}
...
...
projects/app/src/pageComponents/app/detail/Logs/DetailLogsModal.tsx
View file @
6f75c1b8
...
@@ -20,6 +20,7 @@ import ChatRecordContextProvider, {
...
@@ -20,6 +20,7 @@ import ChatRecordContextProvider, {
import
{
useRequest2
}
from
'@fastgpt/web/hooks/useRequest'
;
import
{
useRequest2
}
from
'@fastgpt/web/hooks/useRequest'
;
import
{
useContextSelector
}
from
'use-context-selector'
;
import
{
useContextSelector
}
from
'use-context-selector'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
{
ChatTypeEnum
}
from
'@/components/core/chat/ChatContainer/ChatBox/constants'
;
const
PluginRunBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/PluginRunBox'
));
const
PluginRunBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/PluginRunBox'
));
const
ChatBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/ChatBox'
));
const
ChatBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/ChatBox'
));
...
@@ -164,7 +165,7 @@ const DetailLogsModal = ({ appId, chatId, onClose }: Props) => {
...
@@ -164,7 +165,7 @@ const DetailLogsModal = ({ appId, chatId, onClose }: Props) => {
feedbackType=
{
'admin'
}
feedbackType=
{
'admin'
}
showMarkIcon
showMarkIcon
showVoiceIcon=
{
false
}
showVoiceIcon=
{
false
}
chatType=
"log"
chatType=
{
ChatTypeEnum
.
log
}
/>
/>
)
}
)
}
</
Box
>
</
Box
>
...
...
projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeVariableUpdate.tsx
View file @
6f75c1b8
...
@@ -31,6 +31,7 @@ import { WorkflowNodeEdgeContext } from '../../context/workflowInitContext';
...
@@ -31,6 +31,7 @@ import { WorkflowNodeEdgeContext } from '../../context/workflowInitContext';
import
{
useSystemStore
}
from
'@/web/common/system/useSystemStore'
;
import
{
useSystemStore
}
from
'@/web/common/system/useSystemStore'
;
import
InputRender
from
'@/components/core/app/formRender'
;
import
InputRender
from
'@/components/core/app/formRender'
;
import
{
valueTypeToInputType
}
from
'@/components/core/app/formRender/utils'
;
import
{
valueTypeToInputType
}
from
'@/components/core/app/formRender/utils'
;
import
{
isValidReferenceValueFormat
}
from
'@fastgpt/global/core/workflow/utils'
;
const
NodeVariableUpdate
=
({
data
,
selected
}:
NodeProps
<
FlowNodeItemType
>
)
=>
{
const
NodeVariableUpdate
=
({
data
,
selected
}:
NodeProps
<
FlowNodeItemType
>
)
=>
{
const
{
inputs
=
[],
nodeId
}
=
data
;
const
{
inputs
=
[],
nodeId
}
=
data
;
...
@@ -110,17 +111,17 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps<FlowNodeItemType>) =>
...
@@ -110,17 +111,17 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps<FlowNodeItemType>) =>
(
item
)
=>
item
.
renderType
===
updateItem
.
renderType
(
item
)
=>
item
.
renderType
===
updateItem
.
renderType
);
);
const
onUpdateNewValue
=
(
newValue
?:
ReferenceValueType
|
string
)
=>
{
const
onUpdateNewValue
=
(
newValue
:
any
)
=>
{
if
(
typeof
newValue
===
'string'
)
{
if
(
isValidReferenceValueFormat
(
newValue
)
)
{
onUpdateList
(
onUpdateList
(
updateList
.
map
((
update
,
i
)
=>
updateList
.
map
((
update
,
i
)
=>
i
===
index
?
{
...
update
,
value
:
[
''
,
newValue
]
}
:
update
i
===
index
?
{
...
update
,
value
:
newValue
as
ReferenceItemValueType
}
:
update
)
)
);
);
}
else
if
(
newValue
)
{
}
else
{
onUpdateList
(
onUpdateList
(
updateList
.
map
((
update
,
i
)
=>
updateList
.
map
((
update
,
i
)
=>
i
===
index
?
{
...
update
,
value
:
newValue
as
ReferenceItemValueType
}
:
update
i
===
index
?
{
...
update
,
value
:
[
''
,
newValue
]
}
:
update
)
)
);
);
}
}
...
@@ -224,7 +225,7 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps<FlowNodeItemType>) =>
...
@@ -224,7 +225,7 @@ const NodeVariableUpdate = ({ data, selected }: NodeProps<FlowNodeItemType>) =>
const
inputValue
=
isArray
(
updateItem
.
value
?.[
1
])
?
''
:
updateItem
.
value
?.[
1
];
const
inputValue
=
isArray
(
updateItem
.
value
?.[
1
])
?
''
:
updateItem
.
value
?.[
1
];
return
(
return
(
<
Box
w=
{
'300px'
}
b
g=
{
'white'
}
b
orderRadius=
{
'sm'
}
>
<
Box
w=
{
'300px'
}
borderRadius=
{
'sm'
}
>
<
InputRender
<
InputRender
inputType=
{
valueTypeToInputType
(
valueType
)
}
inputType=
{
valueTypeToInputType
(
valueType
)
}
value=
{
inputValue
||
''
}
value=
{
inputValue
||
''
}
...
...
projects/app/src/pageComponents/app/detail/useChatTest.tsx
View file @
6f75c1b8
...
@@ -18,6 +18,7 @@ import { ChatItemContext } from '@/web/core/chat/context/chatItemContext';
...
@@ -18,6 +18,7 @@ import { ChatItemContext } from '@/web/core/chat/context/chatItemContext';
import
{
useRequest2
}
from
'@fastgpt/web/hooks/useRequest'
;
import
{
useRequest2
}
from
'@fastgpt/web/hooks/useRequest'
;
import
{
getInitChatInfo
}
from
'@/web/core/chat/api'
;
import
{
getInitChatInfo
}
from
'@/web/core/chat/api'
;
import
{
useTranslation
}
from
'next-i18next'
;
import
{
useTranslation
}
from
'next-i18next'
;
import
{
ChatTypeEnum
}
from
'@/components/core/chat/ChatContainer/ChatBox/constants'
;
const
PluginRunBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/PluginRunBox'
));
const
PluginRunBox
=
dynamic
(()
=>
import
(
'@/components/core/chat/ChatContainer/PluginRunBox'
));
...
@@ -140,7 +141,7 @@ export const useChatTest = ({
...
@@ -140,7 +141,7 @@ export const useChatTest = ({
appId=
{
appId
}
appId=
{
appId
}
chatId=
{
chatId
}
chatId=
{
chatId
}
showMarkIcon
showMarkIcon
chatType=
{
'chat'
}
chatType=
{
ChatTypeEnum
.
chat
}
onStartChat=
{
startChat
}
onStartChat=
{
startChat
}
/>
/>
)
)
...
...
projects/app/src/pages/chat/index.tsx
View file @
6f75c1b8
...
@@ -37,6 +37,7 @@ import ChatRecordContextProvider, {
...
@@ -37,6 +37,7 @@ import ChatRecordContextProvider, {
ChatRecordContext
ChatRecordContext
}
from
'@/web/core/chat/context/chatRecordContext'
;
}
from
'@/web/core/chat/context/chatRecordContext'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
{
ChatTypeEnum
}
from
'@/components/core/chat/ChatContainer/ChatBox/constants'
;
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
...
@@ -212,7 +213,7 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => {
...
@@ -212,7 +213,7 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => {
showEmptyIntro
showEmptyIntro
feedbackType=
{
'user'
}
feedbackType=
{
'user'
}
onStartChat=
{
onStartChat
}
onStartChat=
{
onStartChat
}
chatType=
{
'chat'
}
chatType=
{
ChatTypeEnum
.
chat
}
isReady=
{
!
loading
}
isReady=
{
!
loading
}
/>
/>
)
}
)
}
...
...
projects/app/src/pages/chat/share.tsx
View file @
6f75c1b8
...
@@ -39,6 +39,7 @@ import { useI18nLng } from '@fastgpt/web/hooks/useI18n';
...
@@ -39,6 +39,7 @@ import { useI18nLng } from '@fastgpt/web/hooks/useI18n';
import
{
type
AppSchema
}
from
'@fastgpt/global/core/app/type'
;
import
{
type
AppSchema
}
from
'@fastgpt/global/core/app/type'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
{
useToast
}
from
'@fastgpt/web/hooks/useToast'
;
import
{
useToast
}
from
'@fastgpt/web/hooks/useToast'
;
import
{
ChatTypeEnum
}
from
'@/components/core/chat/ChatContainer/ChatBox/constants'
;
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
...
@@ -294,7 +295,7 @@ const OutLink = (props: Props) => {
...
@@ -294,7 +295,7 @@ const OutLink = (props: Props) => {
outLinkAuthData=
{
outLinkAuthData
}
outLinkAuthData=
{
outLinkAuthData
}
feedbackType=
{
'user'
}
feedbackType=
{
'user'
}
onStartChat=
{
startChat
}
onStartChat=
{
startChat
}
chatType=
"share"
chatType=
{
ChatTypeEnum
.
share
}
/>
/>
)
}
)
}
</
Box
>
</
Box
>
...
...
projects/app/src/pages/chat/team.tsx
View file @
6f75c1b8
...
@@ -34,6 +34,7 @@ import { useChatStore } from '@/web/core/chat/context/useChatStore';
...
@@ -34,6 +34,7 @@ import { useChatStore } from '@/web/core/chat/context/useChatStore';
import
{
useMount
}
from
'ahooks'
;
import
{
useMount
}
from
'ahooks'
;
import
{
ChatSourceEnum
}
from
'@fastgpt/global/core/chat/constants'
;
import
{
ChatSourceEnum
}
from
'@fastgpt/global/core/chat/constants'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
ChatQuoteList
from
'@/pageComponents/chat/ChatQuoteList'
;
import
{
ChatTypeEnum
}
from
'@/components/core/chat/ChatContainer/ChatBox/constants'
;
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
const
CustomPluginRunBox
=
dynamic
(()
=>
import
(
'@/pageComponents/chat/CustomPluginRunBox'
));
type
Props
=
{
appId
:
string
;
chatId
:
string
;
teamId
:
string
;
teamToken
:
string
};
type
Props
=
{
appId
:
string
;
chatId
:
string
;
teamId
:
string
;
teamToken
:
string
};
...
@@ -228,7 +229,7 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => {
...
@@ -228,7 +229,7 @@ const Chat = ({ myApps }: { myApps: AppListItemType[] }) => {
outLinkAuthData=
{
outLinkAuthData
}
outLinkAuthData=
{
outLinkAuthData
}
feedbackType=
{
'user'
}
feedbackType=
{
'user'
}
onStartChat=
{
startChat
}
onStartChat=
{
startChat
}
chatType=
"team"
chatType=
{
ChatTypeEnum
.
team
}
/>
/>
)
}
)
}
</
Box
>
</
Box
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment