diff --git a/packages/console/src/pages/SignInExperience/components/SaveAlert.module.scss b/packages/console/src/pages/SignInExperience/components/SaveAlert.module.scss new file mode 100644 index 000000000..86599b4fd --- /dev/null +++ b/packages/console/src/pages/SignInExperience/components/SaveAlert.module.scss @@ -0,0 +1,28 @@ +@use '@/scss/underscore' as _; + +.description { + font: var(--font-body-medium); +} + +.content { + margin-top: _.unit(6); + border-radius: 8px; + padding: _.unit(5); + background: var(--color-layer-2); + font: var(--font-body-medium); + + .section { + &:not(:first-child) { + margin-top: _.unit(3); + } + + .title { + font: var(--font-subhead-2); + margin: _.unit(1) 0; + } + + .connector { + margin-left: _.unit(1); + } + } +} diff --git a/packages/console/src/pages/SignInExperience/components/SaveAlert.tsx b/packages/console/src/pages/SignInExperience/components/SaveAlert.tsx new file mode 100644 index 000000000..f7761bd1f --- /dev/null +++ b/packages/console/src/pages/SignInExperience/components/SaveAlert.tsx @@ -0,0 +1,54 @@ +import { SignInExperience } from '@logto/schemas'; +import React from 'react'; +import { useTranslation } from 'react-i18next'; + +import Button from '@/components/Button'; +import ModalLayout from '@/components/ModalLayout'; + +import * as styles from './SaveAlert.module.scss'; +import SignInMethodsPreview from './SignInMethodsPreview'; + +type Props = { + before: SignInExperience; + after: SignInExperience; + onClose: () => void; + onConfirm: () => void; +}; + +const SaveAlert = ({ before, after, onClose, onConfirm }: Props) => { + const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' }); + + return ( + +