diff --git a/Composer/packages/client/src/components/CreationFlow/v2/AddBotModal.tsx b/Composer/packages/client/src/components/CreationFlow/v2/AddBotModal.tsx index 6a02e6e5ca..870ad6bfed 100644 --- a/Composer/packages/client/src/components/CreationFlow/v2/AddBotModal.tsx +++ b/Composer/packages/client/src/components/CreationFlow/v2/AddBotModal.tsx @@ -16,17 +16,17 @@ interface AddBotModalProps { onDismiss: () => void; } -const addExistingKey = 'existing'; -const addBlankKey = 'blank'; +const addExistingBotKey = 'existing'; +const addNewBotKey = 'new'; -const addSkillOptions: IChoiceGroupOption[] = [ - { key: addExistingKey, text: 'Add an existing bot' }, - { key: addBlankKey, text: 'Create a new blank bot' }, +const getAddSkillOptions = (): IChoiceGroupOption[] => [ + { key: addNewBotKey, text: formatMessage('Create a new bot') }, + { key: addExistingBotKey, text: formatMessage('Add an existing bot') }, ]; export const AddBotModal: React.FC = (props) => { const { setCreationFlowStatus } = useRecoilValue(dispatcherState); - const [addBotType, setAddBotType] = useState(addExistingKey); + const [addBotType, setAddBotType] = useState(addNewBotKey); const handleChange = (ev?, option?: IChoiceGroupOption): void => { if (option) { @@ -35,10 +35,10 @@ export const AddBotModal: React.FC = (props) => { }; const handleSubmit = () => { - if (addBotType === addExistingKey) { + if (addBotType === addExistingBotKey) { setCreationFlowStatus(CreationFlowStatus.OPEN); } else { - setCreationFlowStatus(CreationFlowStatus.NEW_FROM_TEMPLATE); + setCreationFlowStatus(CreationFlowStatus.NEW); } }; @@ -50,7 +50,7 @@ export const AddBotModal: React.FC = (props) => { title={formatMessage('Add a bot')} onDismiss={props.onDismiss} > - + diff --git a/Composer/packages/client/src/components/CreationFlow/v2/CreateBot.tsx b/Composer/packages/client/src/components/CreationFlow/v2/CreateBot.tsx index 1805bfb318..4add06b0c6 100644 --- a/Composer/packages/client/src/components/CreationFlow/v2/CreateBot.tsx +++ b/Composer/packages/client/src/components/CreationFlow/v2/CreateBot.tsx @@ -199,17 +199,22 @@ export function CreateBotV2(props: CreateBotProps) { useEffect(() => { const itemKey = selectedProgLang.props.itemKey; + let newTemplates: BotTemplate[] = []; if (itemKey === csharpFeedKey) { - const newTemplates = templates.filter((template) => { + newTemplates = templates.filter((template) => { return template.dotnetSupport; }); - setDisplayedTemplates(newTemplates); } else if (itemKey === nodeFeedKey) { - const newTemplates = templates.filter((template) => { + newTemplates = templates.filter((template) => { return template.nodeSupport; }); - setDisplayedTemplates(newTemplates); } + if (creationFlowType === 'Skill') { + newTemplates = newTemplates.filter((template) => { + return !template.isMultiBotTemplate; + }); + } + setDisplayedTemplates(newTemplates); }, [templates, selectedProgLang]); useEffect(() => { diff --git a/Composer/packages/server/src/models/asset/__tests__/assetManager.test.ts b/Composer/packages/server/src/models/asset/__tests__/assetManager.test.ts index 00cba711c2..ffcd327765 100644 --- a/Composer/packages/server/src/models/asset/__tests__/assetManager.test.ts +++ b/Composer/packages/server/src/models/asset/__tests__/assetManager.test.ts @@ -135,6 +135,7 @@ describe('assetManager', () => { id: 'generator-conversational-core', name: 'Conversational Core', description: 'Preview conversational core package for TESTING ONLY', + isMultiBotTemplate: false, package: { packageName: 'generator-conversational-core', packageSource: 'npm', diff --git a/Composer/packages/server/src/models/asset/assetManager.ts b/Composer/packages/server/src/models/asset/assetManager.ts index bdda81da48..96ce187b5f 100644 --- a/Composer/packages/server/src/models/asset/assetManager.ts +++ b/Composer/packages/server/src/models/asset/assetManager.ts @@ -294,6 +294,7 @@ export class AssetManager { webAppSupported: keywords.includes('bf-js-webapp'), }; } + templateToReturn.isMultiBotTemplate = keywords.includes('msbot-multibot-project'); } return templateToReturn; }); diff --git a/Composer/packages/types/src/runtime.ts b/Composer/packages/types/src/runtime.ts index ccc53a816b..be9661605a 100644 --- a/Composer/packages/types/src/runtime.ts +++ b/Composer/packages/types/src/runtime.ts @@ -36,6 +36,7 @@ export type BotTemplate = { id: string; name: string; description: string; + isMultiBotTemplate?: boolean; nodeSupport?: EnvSupport; dotnetSupport?: EnvSupport; /* absolute path */