From 622ec4493b6609bb4fc22aec6878c4a15031fd65 Mon Sep 17 00:00:00 2001 From: simeng-li Date: Wed, 22 Nov 2023 10:40:36 +0800 Subject: [PATCH] feat(experience): add lock icon to the single sign-on button (#4928) add lock icon to the single sign-on button --- packages/experience/src/assets/icons/lock.svg | 4 ++++ .../experience/src/components/Button/index.module.scss | 7 +++++++ packages/experience/src/components/Button/index.tsx | 3 +++ .../src/pages/SignIn/PasswordSignInForm/index.tsx | 2 ++ packages/experience/src/pages/SingleSignOnEmail/index.tsx | 3 ++- 5 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 packages/experience/src/assets/icons/lock.svg diff --git a/packages/experience/src/assets/icons/lock.svg b/packages/experience/src/assets/icons/lock.svg new file mode 100644 index 000000000..48e6b8a3a --- /dev/null +++ b/packages/experience/src/assets/icons/lock.svg @@ -0,0 +1,4 @@ + + + diff --git a/packages/experience/src/components/Button/index.module.scss b/packages/experience/src/components/Button/index.module.scss index 19af7fdac..67993f96c 100644 --- a/packages/experience/src/components/Button/index.module.scss +++ b/packages/experience/src/components/Button/index.module.scss @@ -3,6 +3,7 @@ .button { @include _.flex-row; justify-content: center; + align-items: center; height: 44px; padding: 0 _.unit(4); border-radius: var(--radius); @@ -14,6 +15,12 @@ transition: background 0.2s ease-in-out; user-select: none; overflow: hidden; + + .icon { + font-size: 0; + line-height: normal; + margin-right: _.unit(2); + } } .large { diff --git a/packages/experience/src/components/Button/index.tsx b/packages/experience/src/components/Button/index.tsx index 927a092ee..d8ff926a3 100644 --- a/packages/experience/src/components/Button/index.tsx +++ b/packages/experience/src/components/Button/index.tsx @@ -19,6 +19,7 @@ type BaseProps = Omit, 'type' | 'size' | 'title'> & type Props = BaseProps & { title: TFuncKey; + icon?: React.ReactNode; i18nProps?: Record; }; @@ -30,6 +31,7 @@ const Button = ({ i18nProps, className, isDisabled = false, + icon, onClick, ...rest }: Props) => { @@ -47,6 +49,7 @@ const Button = ({ onClick={onClick} {...rest} > + {icon && {icon}} ); diff --git a/packages/experience/src/pages/SignIn/PasswordSignInForm/index.tsx b/packages/experience/src/pages/SignIn/PasswordSignInForm/index.tsx index b09639de7..c1a794121 100644 --- a/packages/experience/src/pages/SignIn/PasswordSignInForm/index.tsx +++ b/packages/experience/src/pages/SignIn/PasswordSignInForm/index.tsx @@ -4,6 +4,7 @@ import { useCallback, useEffect } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; +import LockIcon from '@/assets/icons/lock.svg'; import Button from '@/components/Button'; import ErrorMessage from '@/components/ErrorMessage'; import { SmartInputField, PasswordInputField } from '@/components/InputFields'; @@ -134,6 +135,7 @@ const PasswordSignInForm = ({ className, autoFocus, signInMethods }: Props) => {