Skip to content

Commit d5b1a16

Browse files
feat: add error message when promptAI action is used in the Sandbox
1 parent 802c83e commit d5b1a16

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

packages/sandbox/src/components/FieldPluginSandbox.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,15 @@ const useSandbox = (
278278
[uid, pluginParams, dispatchAssetSelected],
279279
)
280280

281+
const onPromptAI = useCallback(
282+
() =>
283+
onError({
284+
title: 'AI Prompt',
285+
message: 'AI Prompt is not supported in the sandbox',
286+
}),
287+
[onError],
288+
)
289+
281290
useEffect(
282291
() =>
283292
createSandboxMessageListener(
@@ -288,6 +297,7 @@ const useSandbox = (
288297
setModalOpen: onModalChange,
289298
requestContext: onContextRequested,
290299
selectAsset: onAssetSelected,
300+
promptAI: onPromptAI,
291301
},
292302
{
293303
iframeOrigin: fieldPluginURL?.origin,
@@ -306,6 +316,7 @@ const useSandbox = (
306316
onHeightChange,
307317
onModalChange,
308318
onUpdate,
319+
onPromptAI,
309320
fieldPluginURL,
310321
],
311322
)

packages/sandbox/src/dom/createSandboxMessageListener.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import {
2-
AssetModalChangeMessage,
3-
GetContextMessage,
4-
HeightChangeMessage,
52
isAssetModalChangeMessage,
63
isGetContextMessage,
74
isHeightChangeMessage,
85
isMessageToContainer,
96
isModalChangeMessage,
107
isPluginLoadedMessage,
118
isValueChangeMessage,
12-
ModalChangeMessage,
13-
PluginLoadedMessage,
14-
ValueChangeMessage,
9+
type ModalChangeMessage,
10+
type PluginLoadedMessage,
11+
type PluginPromptAIMessage,
12+
type ValueChangeMessage,
13+
type AssetModalChangeMessage,
14+
type GetContextMessage,
15+
type HeightChangeMessage,
16+
isPluginPromptAIMessage,
1517
} from '@storyblok/field-plugin'
1618

1719
type SandboxActions = {
@@ -21,6 +23,7 @@ type SandboxActions = {
2123
setPluginReady: (message: PluginLoadedMessage) => void
2224
requestContext: (message: GetContextMessage) => void
2325
selectAsset: (message: AssetModalChangeMessage) => void
26+
promptAI: (message: PluginPromptAIMessage) => void
2427
}
2528

2629
export type CreateSandboxListener = (
@@ -60,6 +63,8 @@ export const createSandboxMessageListener: CreateSandboxListener = (
6063
eventHandlers.selectAsset(message)
6164
} else if (isGetContextMessage(message)) {
6265
eventHandlers.requestContext(message)
66+
} else if (isPluginPromptAIMessage(message)) {
67+
eventHandlers.promptAI(message)
6368
} else {
6469
console.warn(
6570
`The Sandbox received unknown message from plugin: ${JSON.stringify(

0 commit comments

Comments
 (0)