0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-23 20:33:16 -05:00
logto/packages/console/src/consts/connectors.ts

60 lines
1.8 KiB
TypeScript

import type { AdminConsoleKey } from '@logto/phrases';
import { ConnectorPlatform, ConnectorType } from '@logto/schemas';
import EmailConnector from '@/assets/icons/connector-email.svg';
import SmsConnectorIcon from '@/assets/icons/connector-sms.svg';
import type { ConnectorGroup } from '@/types/connector';
type TitlePlaceHolder = {
[key in ConnectorType]: AdminConsoleKey;
};
export const connectorTitlePlaceHolder = Object.freeze({
[ConnectorType.Sms]: 'connectors.type.sms',
[ConnectorType.Email]: 'connectors.type.email',
[ConnectorType.Social]: 'connectors.type.social',
}) satisfies TitlePlaceHolder;
type ConnectorPlatformLabel = {
[key in ConnectorPlatform]: AdminConsoleKey;
};
export const connectorPlatformLabel = Object.freeze({
[ConnectorPlatform.Native]: 'connectors.platform.native',
[ConnectorPlatform.Universal]: 'connectors.platform.universal',
[ConnectorPlatform.Web]: 'connectors.platform.web',
}) satisfies ConnectorPlatformLabel;
type ConnectorPlaceholderIcon = {
[key in ConnectorType]?: SvgComponent;
};
export const connectorPlaceholderIcon: ConnectorPlaceholderIcon = Object.freeze({
[ConnectorType.Sms]: SmsConnectorIcon,
[ConnectorType.Email]: EmailConnector,
});
export const defaultSmsConnectorGroup: ConnectorGroup = {
id: 'default-sms-connector',
type: ConnectorType.Sms,
connectors: [],
name: { en: '' },
description: { en: '' },
logo: '',
logoDark: null,
target: '',
};
export const defaultEmailConnectorGroup: ConnectorGroup = {
id: 'default-email-connector',
type: ConnectorType.Email,
connectors: [],
name: { en: '' },
description: { en: '' },
logo: '',
logoDark: null,
target: '',
};
// Note: these connector targets will need a native connector to support the native platform
export const supportNativePlatformTargets = ['wechat', 'alipay'];