From a1ceea068542e46db3ed7f873f339edb3803ea3f Mon Sep 17 00:00:00 2001 From: Wang Sijie Date: Sat, 7 May 2022 16:32:35 +0800 Subject: [PATCH] feat(console): sign in methods change alert (#701) --- .../components/SaveAlert.module.scss | 28 ++++++ .../SignInExperience/components/SaveAlert.tsx | 54 +++++++++++ .../components/SignInMethodsPreview.tsx | 59 ++++++++++++ .../src/pages/SignInExperience/index.tsx | 94 +++++++++++++------ .../src/pages/SignInExperience/utilities.ts | 18 ++++ packages/phrases/src/locales/en.ts | 9 ++ packages/phrases/src/locales/zh-cn.ts | 26 +++-- 7 files changed, 251 insertions(+), 37 deletions(-) create mode 100644 packages/console/src/pages/SignInExperience/components/SaveAlert.module.scss create mode 100644 packages/console/src/pages/SignInExperience/components/SaveAlert.tsx create mode 100644 packages/console/src/pages/SignInExperience/components/SignInMethodsPreview.tsx 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 ( + +