diff --git a/packages/console/src/components/Status/index.module.scss b/packages/console/src/components/Status/index.module.scss
index 0303a4855..fa08f6f29 100644
--- a/packages/console/src/components/Status/index.module.scss
+++ b/packages/console/src/components/Status/index.module.scss
@@ -3,16 +3,29 @@
.status {
display: flex;
align-items: center;
-}
+ font: var(--font-label-medium);
-.icon {
- width: 10px;
- height: 10px;
- border-radius: 50%;
- margin-right: _.unit(2);
- background: var(--color-success-70);
-}
+ .icon {
+ width: 10px;
+ height: 10px;
+ border-radius: 50%;
+ margin-right: _.unit(2);
+ background: var(--color-success-70);
+ }
-.status.offline .icon {
- background: var(--color-neutral-70);
+ &.disabled {
+ .icon {
+ background: var(--color-neutral-70);
+ }
+ }
+
+ &.outlined {
+ padding: _.unit(0.5) _.unit(2);
+ border-radius: 10px;
+ background: var(--color-success-99);
+
+ &.disabled {
+ background: var(--color-neutral-variant-95);
+ }
+ }
}
diff --git a/packages/console/src/components/Status/index.tsx b/packages/console/src/components/Status/index.tsx
index dce25768a..0cf5a0dc0 100644
--- a/packages/console/src/components/Status/index.tsx
+++ b/packages/console/src/components/Status/index.tsx
@@ -6,10 +6,11 @@ import * as styles from './index.module.scss';
type Props = {
status: 'enabled' | 'disabled';
children: ReactNode;
+ varient?: 'plain' | 'outlined';
};
-const Status = ({ status, children }: Props) => (
-
+const Status = ({ status, children, varient = 'plain' }: Props) => (
+
diff --git a/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.module.scss b/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.module.scss
new file mode 100644
index 000000000..789047ee3
--- /dev/null
+++ b/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.module.scss
@@ -0,0 +1,9 @@
+@use '@/scss/underscore' as _;
+
+.connectorType {
+ background: var(--color-surface-variant);
+ border-radius: 10px;
+ padding: _.unit(0.5) _.unit(2);
+ color: var(--color-text);
+ font: var(--font-label-medium);
+}
diff --git a/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.tsx b/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.tsx
new file mode 100644
index 000000000..edb2469f3
--- /dev/null
+++ b/packages/console/src/pages/ConnectorDetails/components/ConnectorTypeName/index.tsx
@@ -0,0 +1,23 @@
+import { ConnectorType } from '@logto/schemas';
+import React from 'react';
+import { useTranslation } from 'react-i18next';
+
+import * as styles from './index.module.scss';
+
+type Props = {
+ type: ConnectorType;
+};
+
+const ConnectorTypeName = ({ type }: Props) => {
+ const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
+
+ return (
+
+ {type === ConnectorType.Email && t('connector_details.type_email')}
+ {type === ConnectorType.SMS && t('connector_details.type_sms')}
+ {type === ConnectorType.Social && t('connector_details.type_social')}
+
+ );
+};
+
+export default ConnectorTypeName;
diff --git a/packages/console/src/pages/ConnectorDetails/index.module.scss b/packages/console/src/pages/ConnectorDetails/index.module.scss
index 74e01eae5..c5a5c2f16 100644
--- a/packages/console/src/pages/ConnectorDetails/index.module.scss
+++ b/packages/console/src/pages/ConnectorDetails/index.module.scss
@@ -59,6 +59,11 @@
font: var(--font-subhead-2);
color: var(--color-caption);
}
+
+ .verticalBar {
+ @include _.vertical-bar;
+ height: 12px;
+ }
}
}
diff --git a/packages/console/src/pages/ConnectorDetails/index.tsx b/packages/console/src/pages/ConnectorDetails/index.tsx
index c5971c66e..c476f5634 100644
--- a/packages/console/src/pages/ConnectorDetails/index.tsx
+++ b/packages/console/src/pages/ConnectorDetails/index.tsx
@@ -26,6 +26,7 @@ import * as detailsStyles from '@/scss/details.module.scss';
import CreateForm from '../Connectors/components/CreateForm';
import ConnectorTabs from './components/ConnectorTabs';
+import ConnectorTypeName from './components/ConnectorTypeName';
import SenderTester from './components/SenderTester';
import * as styles from './index.module.scss';
@@ -121,14 +122,17 @@ const ConnectorDetails = () => {
-
{data.id}
-
+
+
+
{t('connectors.connector_status', {
context: data.enabled ? 'enabled' : 'disabled',
})}
+
+ {data.id}
diff --git a/packages/phrases/src/locales/en.ts b/packages/phrases/src/locales/en.ts
index 69e60762a..222a1de34 100644
--- a/packages/phrases/src/locales/en.ts
+++ b/packages/phrases/src/locales/en.ts
@@ -278,6 +278,9 @@ const translation = {
more_options: 'MORE OPTIONS',
connector_deleted: 'The connector has been deleted.',
not_set: '(Not set)',
+ type_email: 'Email connector',
+ type_sms: 'SMS connector',
+ type_social: 'Social connector',
},
get_started: {
progress: 'Get started guide: {{completed}}/{{total}}',
diff --git a/packages/phrases/src/locales/zh-cn.ts b/packages/phrases/src/locales/zh-cn.ts
index a8bab92b4..5f24320cc 100644
--- a/packages/phrases/src/locales/zh-cn.ts
+++ b/packages/phrases/src/locales/zh-cn.ts
@@ -276,6 +276,9 @@ const translation = {
more_options: '更多选项',
connector_deleted: '成功删除连接器。',
not_set: '(未设置)',
+ type_email: '邮件连接器',
+ type_sms: '短信连接器',
+ type_social: '社交连接器',
},
get_started: {
progress: '开始使用: {{completed}}/{{total}}',