+
{formatMessage('Name')}
-
{formatMessage('Documentation')}
-
{formatMessage('Enabled')}
+
{formatMessage('Enabled')}
+
{formatMessage('Documentation')}
{absTableRow(CHANNELS.TEAMS, formatMessage('MS Teams'), teamsHelpLink)}
{absTableRow(CHANNELS.WEBCHAT, formatMessage('Web Chat'), webchatHelpLink)}
diff --git a/Composer/packages/client/src/pages/botProject/adapters/AdapterSection.tsx b/Composer/packages/client/src/pages/botProject/adapters/AdapterSection.tsx
index af8f17c363..9da64b5627 100644
--- a/Composer/packages/client/src/pages/botProject/adapters/AdapterSection.tsx
+++ b/Composer/packages/client/src/pages/botProject/adapters/AdapterSection.tsx
@@ -4,11 +4,10 @@
import { jsx } from '@emotion/core';
import { useEffect, useRef } from 'react';
import formatMessage from 'format-message';
-import { Icon } from 'office-ui-fabric-react/lib/Icon';
-import { TooltipHost } from 'office-ui-fabric-react/lib/Tooltip';
+import { Stack } from 'office-ui-fabric-react/lib/Stack';
import { CollapsableWrapper } from '../../../components/CollapsableWrapper';
-import { title, subtitle, sectionHeader } from '../styles';
+import { title, subtitle } from '../styles';
import ExternalAdapterSettings from './ExternalAdapterSettings';
import ABSChannels from './ABSChannels';
@@ -18,17 +17,6 @@ type Props = {
scrollToSectionId?: string;
};
-const renderSectionHeader = (name: string, tooltip?: string) => (
-
- {name}
- {tooltip != null && (
-
-
-
- )}
-
-);
-
const AdapterSection = ({ projectId, scrollToSectionId }: Props) => {
const containerRef = useRef
(null);
useEffect(() => {
@@ -39,12 +27,25 @@ const AdapterSection = ({ projectId, scrollToSectionId }: Props) => {
return (
-
- {formatMessage('Connect your bot to other messaging services.')}
- {renderSectionHeader(formatMessage('Azure Bot Service channels'), '(description of ABS channels)')}
-
- {renderSectionHeader(formatMessage('External service adapters'), '(description of external adapters)')}
-
+
+
+ {formatMessage('Azure connections')}
+
+ {formatMessage(
+ 'Connect your bot to Microsoft Teams and WebChat, or enable speech. Connections are added per bot (typically to the root bot, if your project contains multiple bots), as well as per publishing profile. Select a publishing profile to view, add, and enable Azure connections.'
+ )}
+
+
+
+
+ {formatMessage('External connections')}
+ {formatMessage('Find and install more external services in the package manager.')}
+
+
);
diff --git a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx
index a27e99a694..eb6f29038f 100644
--- a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx
+++ b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx
@@ -25,7 +25,6 @@ type Props = {
adapterKey: string;
packageName: string;
isOpen: boolean;
- isFirstTime: boolean; // true if the user clicked Configure to get here, false if it's from the Edit menu
onClose: () => void;
projectId: string;
schema: JSONSchema7;
@@ -45,7 +44,7 @@ function makeDefault(schema: JSONSchema7) {
}
const AdapterModal = (props: Props) => {
- const { isOpen, onClose, schema, uiSchema, projectId, adapterKey, packageName, isFirstTime } = props;
+ const { isOpen, onClose, schema, uiSchema, projectId, adapterKey, packageName } = props;
const [value, setValue] = useState(props.value ?? makeDefault(schema));
const { setSettings } = useRecoilValue(dispatcherState);
@@ -114,7 +113,7 @@ const AdapterModal = (props: Props) => {
onClose();
}}
>
- {isFirstTime ? formatMessage('Create') : formatMessage('Confirm')}
+ {formatMessage('Configure')}
diff --git a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterSettings.tsx b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterSettings.tsx
index 7074336028..4d8c88423e 100644
--- a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterSettings.tsx
+++ b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterSettings.tsx
@@ -8,17 +8,13 @@ import formatMessage from 'format-message';
import { useRecoilValue } from 'recoil';
import { BotSchemas, DialogSetting } from '@bfc/shared';
import { Link } from 'office-ui-fabric-react/lib/Link';
-import { Icon } from 'office-ui-fabric-react/lib/Icon';
import { Toggle } from 'office-ui-fabric-react/lib/Toggle';
-import { IconButton } from 'office-ui-fabric-react/lib/Button';
-import { TooltipHost, DirectionalHint } from 'office-ui-fabric-react/lib/Tooltip';
-import { SharedColors } from '@uifabric/fluent-theme';
import { JSONSchema7 } from '@botframework-composer/types';
import { AdapterRecord } from '@botframework-composer/types/src';
import { useRouterCache } from '../../../utils/hooks';
import { schemasState, settingsState, dispatcherState } from '../../../recoilModel';
-import { subtitle, tableRow, tableRowItem, tableColumnHeader, columnSizes } from '../styles';
+import { subtitle, tableHeaderRow, tableRow, tableRowItem, tableColumnHeader, columnSizes } from '../styles';
import AdapterModal, { hasRequired } from './ExternalAdapterModal';
@@ -28,6 +24,11 @@ type Props = {
projectId: string;
};
+type Package = {
+ key: string;
+ packageName?: string;
+};
+
const ExternalAdapterSettings = (props: Props) => {
const { projectId } = props;
@@ -41,40 +42,29 @@ const ExternalAdapterSettings = (props: Props) => {
const { definitions: schemaDefinitions } = schemas?.sdk?.content ?? {};
const uiSchemas = schemas?.ui?.content ?? {};
- const [currentModalProps, setModalProps] = useState<
- { key: string; packageName: string; firstTime: boolean } | undefined
- >();
+ const [currentModalProps, setModalProps] = useState