From 72c4a633b05881d45f61c47fda2c711e923e0e54 Mon Sep 17 00:00:00 2001 From: Ovgodd Date: Tue, 25 Aug 2026 12:37:32 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F(frontend)=20extract=20sh?= =?UTF-8?q?ared=20header=20logo=20and=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Docs logo lived in the left panel and could not be reused elsewhere. --- .../features/header/components/HeaderBar.tsx | 22 +++++++ .../header/components/HeaderLogoLink.tsx | 60 +++++++++++++++++++ .../src/features/header/components/index.ts | 2 + .../apps/impress/src/features/header/conf.ts | 5 ++ .../apps/impress/src/features/header/index.ts | 1 + .../left-panel/components/LeftPanelHeader.tsx | 52 ++-------------- 6 files changed, 94 insertions(+), 48 deletions(-) create mode 100644 src/frontend/apps/impress/src/features/header/components/HeaderBar.tsx create mode 100644 src/frontend/apps/impress/src/features/header/components/HeaderLogoLink.tsx create mode 100644 src/frontend/apps/impress/src/features/header/conf.ts diff --git a/src/frontend/apps/impress/src/features/header/components/HeaderBar.tsx b/src/frontend/apps/impress/src/features/header/components/HeaderBar.tsx new file mode 100644 index 0000000000..1978439ab6 --- /dev/null +++ b/src/frontend/apps/impress/src/features/header/components/HeaderBar.tsx @@ -0,0 +1,22 @@ +import { Box } from '@/components'; + +import { HEADER_ROW_MIN_HEIGHT } from '../conf'; + +import { HeaderLogoLink } from './HeaderLogoLink'; + +export const HeaderBar = () => { + return ( + + + + ); +}; diff --git a/src/frontend/apps/impress/src/features/header/components/HeaderLogoLink.tsx b/src/frontend/apps/impress/src/features/header/components/HeaderLogoLink.tsx new file mode 100644 index 0000000000..17accd4f0d --- /dev/null +++ b/src/frontend/apps/impress/src/features/header/components/HeaderLogoLink.tsx @@ -0,0 +1,60 @@ +import Image from 'next/image'; +import { css } from 'styled-components'; + +import { Box, StyledLink } from '@/components'; +import { Title } from '@/components/Title'; +import { useConfig } from '@/core'; +import { useCunninghamTheme } from '@/cunningham'; + +type HeaderLogoLinkProps = { + /** + * Heading level of the "Docs" wordmark. Left undefined on pages owning their + * own h1, so the logo does not compete with the page title. + */ + headingLevel?: 'h1' | 'h2' | 'h3'; +}; + +export const HeaderLogoLink = ({ headingLevel }: HeaderLogoLinkProps) => { + const { data: config } = useConfig(); + const { colorsTokens, spacingsTokens } = useCunninghamTheme(); + const icon = config?.theme_customization?.header?.icon; + + return ( + + + {icon && ( + rest)(icon)} + /> + )} + + </Box> + </StyledLink> + ); +}; diff --git a/src/frontend/apps/impress/src/features/header/components/index.ts b/src/frontend/apps/impress/src/features/header/components/index.ts index f2a5d75521..1a1adf0cc5 100644 --- a/src/frontend/apps/impress/src/features/header/components/index.ts +++ b/src/frontend/apps/impress/src/features/header/components/index.ts @@ -1 +1,3 @@ +export * from './HeaderBar'; export * from './HeaderFloatingBar'; +export * from './HeaderLogoLink'; diff --git a/src/frontend/apps/impress/src/features/header/conf.ts b/src/frontend/apps/impress/src/features/header/conf.ts new file mode 100644 index 0000000000..d5b0a7a0bf --- /dev/null +++ b/src/frontend/apps/impress/src/features/header/conf.ts @@ -0,0 +1,5 @@ +/** + * Height of the row holding the Docs logo. Shared by the left panel header and + * the standalone page header so the logo does not shift between pages. + */ +export const HEADER_ROW_MIN_HEIGHT = '68px'; diff --git a/src/frontend/apps/impress/src/features/header/index.ts b/src/frontend/apps/impress/src/features/header/index.ts index ef6330a0f4..ccc053ab45 100644 --- a/src/frontend/apps/impress/src/features/header/index.ts +++ b/src/frontend/apps/impress/src/features/header/index.ts @@ -1 +1,2 @@ export * from './components/'; +export * from './conf'; diff --git a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx index b234e1ae0b..bef9a7e618 100644 --- a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx +++ b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelHeader.tsx @@ -1,30 +1,20 @@ import { Button } from '@gouvfr-lasuite/cunningham-react'; -import Image from 'next/image'; import { useRouter } from 'next/router'; import { useTranslation } from 'react-i18next'; -import { css } from 'styled-components'; -import { - Box, - ButtonCloseModal, - SeparatedSection, - StyledLink, -} from '@/components'; -import { Title } from '@/components/Title'; -import { useConfig } from '@/core'; +import { Box, ButtonCloseModal, SeparatedSection } from '@/components'; import { NewDocButton } from '@/docs/doc-management/components/NewDocButton'; import { DocSearchButtonModal } from '@/docs/doc-search/components/DocSearchButtonModal'; import { useAuth } from '@/features/auth'; +import { HEADER_ROW_MIN_HEIGHT, HeaderLogoLink } from '@/features/header'; import HomeSVG from '@/icons/house-rounded.svg'; import { useResponsiveStore } from '@/stores'; import { useLeftPanelStore } from '../stores'; export const LeftPanelHeader = () => { - const { data: config } = useConfig(); const { isMobile } = useResponsiveStore(); const { closePanel } = useLeftPanelStore(); - const icon = config?.theme_customization?.header?.icon; return ( <Box $width="100%" className="--docs--left-panel-header"> @@ -33,43 +23,9 @@ export const LeftPanelHeader = () => { $direction="row" $align="center" $gap="2xs" - $minHeight="68px" + $minHeight={HEADER_ROW_MIN_HEIGHT} > - <StyledLink - href="/" - data-testid="header-logo-link" - $css={css` - outline: none; - &:focus-visible { - box-shadow: 0 0 0 2px var(--c--globals--colors--brand-400) !important; - border-radius: var(--c--globals--spacings--st); - } - `} - > - <Box - $align="center" - $gap="var(--c--globals--spacings--4xs)" - $direction="row" - $position="relative" - $height="fit-content" - $margin={{ top: 'auto' }} - > - {icon && ( - <Image - data-testid="header-icon-docs" - width={0} - height={0} - priority - {...(({ withTitle: _, ...rest }) => rest)(icon)} - /> - )} - <Title - headingLevel="h1" - className={icon?.withTitle ? undefined : 'sr-only'} - $size="1.8rem" - /> - </Box> - </StyledLink> + <HeaderLogoLink headingLevel="h1" /> {isMobile && ( <Box $margin={{ left: 'auto' }}> <ButtonCloseModal From 048592b9fff14dd44f0291d9429fda805d3068af Mon Sep 17 00:00:00 2001 From: Ovgodd <c.gromoff@gmail.com> Date: Tue, 25 Aug 2026 12:46:54 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F(frontend)=20extract=20sh?= =?UTF-8?q?ared=20footer=20actions=20and=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Footer actions lived in the left panel and could not be reused elsewhere. --- .../footer/components/FooterActions.tsx | 58 +++++++++++++++++++ .../features/footer/components/FooterBar.tsx | 17 ++++++ .../src/features/footer/components/index.ts | 2 + .../impress/src/features/footer/index.tsx | 1 + .../left-panel/components/LeftPanelFooter.tsx | 46 +-------------- 5 files changed, 81 insertions(+), 43 deletions(-) create mode 100644 src/frontend/apps/impress/src/features/footer/components/FooterActions.tsx create mode 100644 src/frontend/apps/impress/src/features/footer/components/FooterBar.tsx create mode 100644 src/frontend/apps/impress/src/features/footer/components/index.ts diff --git a/src/frontend/apps/impress/src/features/footer/components/FooterActions.tsx b/src/frontend/apps/impress/src/features/footer/components/FooterActions.tsx new file mode 100644 index 0000000000..2cb683485b --- /dev/null +++ b/src/frontend/apps/impress/src/features/footer/components/FooterActions.tsx @@ -0,0 +1,58 @@ +import { UserMenu } from '@gouvfr-lasuite/ui-kit'; +import { useTranslation } from 'react-i18next'; +import { createGlobalStyle } from 'styled-components'; + +import { Box } from '@/components'; +import { Waffle } from '@/components/Waffle'; +import { ButtonLogin, gotoLogout, useAuth } from '@/features/auth'; +import { HelpMenu } from '@/features/help'; +import { LanguagePicker } from '@/features/language/components/LanguagePicker'; + +const FooterActionsGlobalStyle = createGlobalStyle` + .user-menu__actions .c__language-picker{ + width: auto; + } +`; + +type FooterActionsProps = { + /** In the left panel the help menu sits at the opposite edge of the row. */ + isHelpMenuAside?: boolean; +}; + +export const FooterActions = ({ + isHelpMenuAside = false, +}: FooterActionsProps) => { + const { t } = useTranslation(); + const { user } = useAuth(); + + const userMenu = user || { + full_name: t('Guest'), + email: '', + }; + + return ( + <> + <FooterActionsGlobalStyle /> + <Box + $padding={{ horizontal: 'sm' }} + $direction="row" + $align="center" + $gap="3xs" + $justify={isHelpMenuAside ? 'space-between' : undefined} + className="--docs--footer-actions" + > + <Box $direction="row" $align="center" $gap="3xs"> + <UserMenu + user={userMenu} + logout={user ? gotoLogout : undefined} + actions={<LanguagePicker />} + withMobileView={false} + /> + <Waffle /> + <ButtonLogin /> + </Box> + <HelpMenu /> + </Box> + </> + ); +}; diff --git a/src/frontend/apps/impress/src/features/footer/components/FooterBar.tsx b/src/frontend/apps/impress/src/features/footer/components/FooterBar.tsx new file mode 100644 index 0000000000..3774ce7b1a --- /dev/null +++ b/src/frontend/apps/impress/src/features/footer/components/FooterBar.tsx @@ -0,0 +1,17 @@ +import { Box } from '@/components'; + +import { FooterActions } from './FooterActions'; + +export const FooterBar = () => { + return ( + <Box + as="footer" + className="--docs--footer-bar" + $width="100%" + $shrink={0} + $padding={{ vertical: 'sm' }} + > + <FooterActions /> + </Box> + ); +}; diff --git a/src/frontend/apps/impress/src/features/footer/components/index.ts b/src/frontend/apps/impress/src/features/footer/components/index.ts new file mode 100644 index 0000000000..720742b5ce --- /dev/null +++ b/src/frontend/apps/impress/src/features/footer/components/index.ts @@ -0,0 +1,2 @@ +export * from './FooterActions'; +export * from './FooterBar'; diff --git a/src/frontend/apps/impress/src/features/footer/index.tsx b/src/frontend/apps/impress/src/features/footer/index.tsx index 166c3c20d6..9b5b85b0c2 100644 --- a/src/frontend/apps/impress/src/features/footer/index.tsx +++ b/src/frontend/apps/impress/src/features/footer/index.tsx @@ -1,2 +1,3 @@ +export * from './components'; export * from './Footer'; export * from './types'; diff --git a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelFooter.tsx b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelFooter.tsx index 6866c22d46..d3b1f2fea1 100644 --- a/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelFooter.tsx +++ b/src/frontend/apps/impress/src/features/left-panel/components/LeftPanelFooter.tsx @@ -1,50 +1,10 @@ -import { UserMenu } from '@gouvfr-lasuite/ui-kit'; -import { useTranslation } from 'react-i18next'; -import { createGlobalStyle } from 'styled-components'; - -import { Box, SeparatedSection } from '@/components'; -import { Waffle } from '@/components/Waffle'; -import { ButtonLogin } from '@/features/auth'; -import { useAuth } from '@/features/auth/hooks/useAuth'; -import { gotoLogout } from '@/features/auth/utils'; -import { HelpMenu } from '@/features/help'; -import { LanguagePicker } from '@/features/language/components/LanguagePicker'; - -const LeftPanelFooterGlobalStyle = createGlobalStyle` - .user-menu__actions .c__language-picker{ - width: auto; - } -`; +import { SeparatedSection } from '@/components'; +import { FooterActions } from '@/features/footer'; export const LeftPanelFooter = () => { - const { t } = useTranslation(); - const { user } = useAuth(); - - const userMenu = user || { - full_name: t('Guest'), - email: '', - }; - return ( <SeparatedSection showSeparator="top" $margin={{ top: 'auto' }}> - <LeftPanelFooterGlobalStyle /> - <Box - $padding={{ horizontal: 'sm' }} - $justify="space-between" - $direction="row" - > - <Box $direction="row" $align="center" $gap="0.2rem"> - <UserMenu - user={userMenu} - logout={user ? gotoLogout : undefined} - actions={<LanguagePicker />} - withMobileView={false} - /> - <Waffle /> - <ButtonLogin /> - </Box> - <HelpMenu /> - </Box> + <FooterActions isHelpMenuAside /> </SeparatedSection> ); }; From d6b27411b85ca340a88a4ea29791e4981171b4b8 Mon Sep 17 00:00:00 2001 From: Ovgodd <c.gromoff@gmail.com> Date: Tue, 25 Aug 2026 12:59:23 +0200 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=92=84(frontend)=20redesign=20email?= =?UTF-8?q?=20confirmation=20standalone=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Email confirmation is a business page and now uses the shared chrome. --- CHANGELOG.md | 4 + .../assets/icons/ui-kit/arrow-up-circle.svg | 6 +- .../__tests__/UserReconciliation.test.tsx | 28 +++- .../auth/assets/email-confirmation.svg | 85 ++++++++++ .../auth/assets/email-validation-error.svg | 157 ++++++++++++++++++ .../auth/assets/mail-check-filled.svg | 14 -- .../auth/components/UserReconciliation.tsx | 131 ++++++++------- .../src/layouts/StandalonePageLayout.tsx | 23 +++ .../apps/impress/src/layouts/index.ts | 1 + .../active/[id]/index.tsx | 4 +- .../inactive/[id]/index.tsx | 4 +- 11 files changed, 376 insertions(+), 81 deletions(-) create mode 100644 src/frontend/apps/impress/src/features/auth/assets/email-confirmation.svg create mode 100644 src/frontend/apps/impress/src/features/auth/assets/email-validation-error.svg delete mode 100644 src/frontend/apps/impress/src/features/auth/assets/mail-check-filled.svg create mode 100644 src/frontend/apps/impress/src/layouts/StandalonePageLayout.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index e4e73898b5..cfeb99a4c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to ## [Unreleased] +### Added + +- 💄(frontend) redesign email confirmation standalone page- #2601 + ## [v5.5.0] - 2026-08-24 ### Added diff --git a/src/frontend/apps/impress/src/assets/icons/ui-kit/arrow-up-circle.svg b/src/frontend/apps/impress/src/assets/icons/ui-kit/arrow-up-circle.svg index ddd0bf04f2..2457f287a6 100644 --- a/src/frontend/apps/impress/src/assets/icons/ui-kit/arrow-up-circle.svg +++ b/src/frontend/apps/impress/src/assets/icons/ui-kit/arrow-up-circle.svg @@ -1,4 +1,4 @@ -<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M11.9951 7.05371C12.1176 7.05371 12.2341 7.076 12.3438 7.12109C12.4534 7.16625 12.5665 7.2472 12.6826 7.36328L15.8867 10.4414C15.9642 10.5189 16.0261 10.6063 16.0713 10.7031C16.1164 10.7934 16.1387 10.8999 16.1387 11.0225C16.1387 11.2483 16.0578 11.4355 15.8965 11.584C15.7416 11.7259 15.551 11.7969 15.3252 11.7969C15.2156 11.7968 15.109 11.7746 15.0059 11.7295C14.9028 11.6844 14.8094 11.6165 14.7256 11.5264L13.3604 10.0742L12.8467 9.48633L12.9053 10.877V16.0566C12.9052 16.2953 12.8153 16.5049 12.6348 16.6855C12.4605 16.8598 12.2468 16.9473 11.9951 16.9473C11.75 16.9472 11.5371 16.8597 11.3564 16.6855C11.1823 16.5049 11.0948 16.2953 11.0947 16.0566V10.877L11.1533 9.47461L10.6309 10.0742L9.26562 11.5264C9.18821 11.6166 9.09401 11.6843 8.98438 11.7295C8.87482 11.7745 8.76483 11.7969 8.65527 11.7969C8.43613 11.7968 8.24947 11.7257 8.09473 11.584C7.93984 11.4355 7.8623 11.2483 7.8623 11.0225C7.86232 10.8999 7.88122 10.7934 7.91992 10.7031C7.9651 10.6063 8.0327 10.5188 8.12305 10.4414L11.3086 7.36328C11.431 7.24735 11.5467 7.16626 11.6562 7.12109C11.7658 7.07597 11.8791 7.05376 11.9951 7.05371Z" fill="#222631"/> -<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9951 2C13.376 2 14.6703 2.25827 15.877 2.77441C17.0902 3.29071 18.1558 4.0074 19.0723 4.92383C19.9885 5.84013 20.7044 6.90508 21.2207 8.11816C21.7434 9.3249 22.0048 10.619 22.0049 12C22.0049 13.381 21.7434 14.6784 21.2207 15.8916C20.7044 17.0984 19.9887 18.1574 19.0723 19.0674C18.1558 19.9838 17.0902 20.6995 15.877 21.2158C14.6702 21.7385 13.3761 22 11.9951 22C10.6142 22 9.32001 21.7385 8.11328 21.2158C6.90667 20.6996 5.845 19.9836 4.92871 19.0674C4.01229 18.1574 3.29228 17.0984 2.76953 15.8916C2.25336 14.6784 1.99512 13.3809 1.99512 12C1.99516 10.619 2.25328 9.3249 2.76953 8.11816C3.29228 6.90491 4.01231 5.84023 4.92871 4.92383C5.8451 4.00745 6.90651 3.2907 8.11328 2.77441C9.32001 2.25817 10.6142 2.00005 11.9951 2ZM11.9951 3.97559C10.8917 3.97563 9.85233 4.18505 8.87793 4.60449C7.91004 5.01752 7.05789 5.59153 6.32227 6.32715C5.58663 7.05633 5.00932 7.90845 4.58984 8.88281C4.17685 9.85076 3.97075 10.8901 3.9707 12C3.9707 13.1099 4.17689 14.1492 4.58984 15.1172C5.00926 16.0851 5.58672 16.9372 6.32227 17.6729C7.05791 18.4085 7.91 18.9835 8.87793 19.3965C9.85233 19.8159 10.8917 20.0253 11.9951 20.0254C13.105 20.0254 14.1443 19.8159 15.1123 19.3965C16.0804 18.9834 16.9322 18.4086 17.668 17.6729C18.4101 16.9371 18.9883 16.0852 19.4014 15.1172C19.8143 14.1492 20.0205 13.1099 20.0205 12C20.0205 10.8901 19.8144 9.85076 19.4014 8.88281C18.9883 7.90841 18.4101 7.05635 17.668 6.32715C16.9323 5.59161 16.0802 5.01746 15.1123 4.60449C14.1443 4.18508 13.1051 3.97559 11.9951 3.97559Z" fill="#222631"/> +<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M11.9951 7.05371C12.1176 7.05371 12.2341 7.076 12.3438 7.12109C12.4534 7.16625 12.5665 7.2472 12.6826 7.36328L15.8867 10.4414C15.9642 10.5189 16.0261 10.6063 16.0713 10.7031C16.1164 10.7934 16.1387 10.8999 16.1387 11.0225C16.1387 11.2483 16.0578 11.4355 15.8965 11.584C15.7416 11.7259 15.551 11.7969 15.3252 11.7969C15.2156 11.7968 15.109 11.7746 15.0059 11.7295C14.9028 11.6844 14.8094 11.6165 14.7256 11.5264L13.3604 10.0742L12.8467 9.48633L12.9053 10.877V16.0566C12.9052 16.2953 12.8153 16.5049 12.6348 16.6855C12.4605 16.8598 12.2468 16.9473 11.9951 16.9473C11.75 16.9472 11.5371 16.8597 11.3564 16.6855C11.1823 16.5049 11.0948 16.2953 11.0947 16.0566V10.877L11.1533 9.47461L10.6309 10.0742L9.26562 11.5264C9.18821 11.6166 9.09401 11.6843 8.98438 11.7295C8.87482 11.7745 8.76483 11.7969 8.65527 11.7969C8.43613 11.7968 8.24947 11.7257 8.09473 11.584C7.93984 11.4355 7.8623 11.2483 7.8623 11.0225C7.86232 10.8999 7.88122 10.7934 7.91992 10.7031C7.9651 10.6063 8.0327 10.5188 8.12305 10.4414L11.3086 7.36328C11.431 7.24735 11.5467 7.16626 11.6562 7.12109C11.7658 7.07597 11.8791 7.05376 11.9951 7.05371Z" fill="currentColor"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9951 2C13.376 2 14.6703 2.25827 15.877 2.77441C17.0902 3.29071 18.1558 4.0074 19.0723 4.92383C19.9885 5.84013 20.7044 6.90508 21.2207 8.11816C21.7434 9.3249 22.0048 10.619 22.0049 12C22.0049 13.381 21.7434 14.6784 21.2207 15.8916C20.7044 17.0984 19.9887 18.1574 19.0723 19.0674C18.1558 19.9838 17.0902 20.6995 15.877 21.2158C14.6702 21.7385 13.3761 22 11.9951 22C10.6142 22 9.32001 21.7385 8.11328 21.2158C6.90667 20.6996 5.845 19.9836 4.92871 19.0674C4.01229 18.1574 3.29228 17.0984 2.76953 15.8916C2.25336 14.6784 1.99512 13.3809 1.99512 12C1.99516 10.619 2.25328 9.3249 2.76953 8.11816C3.29228 6.90491 4.01231 5.84023 4.92871 4.92383C5.8451 4.00745 6.90651 3.2907 8.11328 2.77441C9.32001 2.25817 10.6142 2.00005 11.9951 2ZM11.9951 3.97559C10.8917 3.97563 9.85233 4.18505 8.87793 4.60449C7.91004 5.01752 7.05789 5.59153 6.32227 6.32715C5.58663 7.05633 5.00932 7.90845 4.58984 8.88281C4.17685 9.85076 3.97075 10.8901 3.9707 12C3.9707 13.1099 4.17689 14.1492 4.58984 15.1172C5.00926 16.0851 5.58672 16.9372 6.32227 17.6729C7.05791 18.4085 7.91 18.9835 8.87793 19.3965C9.85233 19.8159 10.8917 20.0253 11.9951 20.0254C13.105 20.0254 14.1443 19.8159 15.1123 19.3965C16.0804 18.9834 16.9322 18.4086 17.668 17.6729C18.4101 16.9371 18.9883 16.0852 19.4014 15.1172C19.8143 14.1492 20.0205 13.1099 20.0205 12C20.0205 10.8901 19.8144 9.85076 19.4014 8.88281C18.9883 7.90841 18.4101 7.05635 17.668 6.32715C16.9323 5.59161 16.0802 5.01746 15.1123 4.60449C14.1443 4.18508 13.1051 3.97559 11.9951 3.97559Z" fill="currentColor"/> </svg> diff --git a/src/frontend/apps/impress/src/features/auth/__tests__/UserReconciliation.test.tsx b/src/frontend/apps/impress/src/features/auth/__tests__/UserReconciliation.test.tsx index 59fb47ea0d..861e0f3484 100644 --- a/src/frontend/apps/impress/src/features/auth/__tests__/UserReconciliation.test.tsx +++ b/src/frontend/apps/impress/src/features/auth/__tests__/UserReconciliation.test.tsx @@ -7,8 +7,12 @@ import { AppWrapper } from '@/tests/utils'; import { UserReconciliation } from '../components/UserReconciliation'; -vi.mock('../assets/mail-check-filled.svg', () => ({ - default: () => <div data-testid="success-svg">SuccessSvg</div>, +vi.mock('../assets/email-confirmation.svg', () => ({ + default: () => <div>EmailConfirmationSvg</div>, +})); + +vi.mock('../assets/email-validation-error.svg', () => ({ + default: () => <div>EmailValidationErrorSvg</div>, })); describe('UserReconciliation', () => { @@ -38,11 +42,22 @@ describe('UserReconciliation', () => { expect(fetchMock.callHistory.calls().length).toBe(1); }); + expect( + await screen.findByRole('heading', { + level: 1, + name: /Email Address Confirmed/i, + }), + ).toBeInTheDocument(); + expect( await screen.findByText( /To complete the unification of your user accounts/i, ), ).toBeInTheDocument(); + + expect( + await screen.findByRole('button', { name: /Resend e-mail/i }), + ).toBeInTheDocument(); }); }); @@ -63,7 +78,14 @@ describe('UserReconciliation', () => { }); expect( - await screen.findByText(/An error occurred during email validation./i), + await screen.findByRole('heading', { + level: 1, + name: /An error occurred during email validation./i, + }), ).toBeInTheDocument(); + + expect( + screen.queryByRole('button', { name: /Resend e-mail/i }), + ).not.toBeInTheDocument(); }); }); diff --git a/src/frontend/apps/impress/src/features/auth/assets/email-confirmation.svg b/src/frontend/apps/impress/src/features/auth/assets/email-confirmation.svg new file mode 100644 index 0000000000..93c020a122 --- /dev/null +++ b/src/frontend/apps/impress/src/features/auth/assets/email-confirmation.svg @@ -0,0 +1,85 @@ +<svg width="102" height="72" viewBox="0 0 102 72" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_12121_1715)"> +<g filter="url(#filter0_d_12121_1715)"> +<g clip-path="url(#clip1_12121_1715)"> +<rect x="24.0029" y="12.1978" width="55.9751" height="38.9919" rx="7.16721" fill="white"/> +<rect x="24.0029" y="12.1978" width="55.9751" height="38.9919" rx="7.16721" fill="url(#paint0_linear_12121_1715)" fill-opacity="0.2"/> +<mask id="path-3-inside-1_12121_1715" fill="white"> +<path d="M79.9785 15.3345L63.2822 31.0122L79.6055 48.0522L76.625 51.1899L60.1436 33.9585L56.7588 37.1382C55.9972 37.8641 55.2185 38.3908 54.4238 38.7192C53.6458 39.0476 52.8345 39.2124 51.9902 39.2124C51.146 39.2124 50.3268 39.0476 49.5322 38.7192C48.7542 38.3909 47.9842 37.864 47.2227 37.1382L43.8379 33.9595L27.4053 51.1636L24.4248 48.0269L40.7109 31.0239L24.0029 15.3345L26.9834 12.1978L49.7559 33.6382C50.4676 34.312 51.2123 34.6489 51.9902 34.6489C52.7684 34.6489 53.5137 34.3122 54.2256 33.6382L76.998 12.1978L79.9785 15.3345Z"/> +</mask> +<path d="M79.9785 15.3345L63.2822 31.0122L79.6055 48.0522L76.625 51.1899L60.1436 33.9585L56.7588 37.1382C55.9972 37.8641 55.2185 38.3908 54.4238 38.7192C53.6458 39.0476 52.8345 39.2124 51.9902 39.2124C51.146 39.2124 50.3268 39.0476 49.5322 38.7192C48.7542 38.3909 47.9842 37.864 47.2227 37.1382L43.8379 33.9595L27.4053 51.1636L24.4248 48.0269L40.7109 31.0239L24.0029 15.3345L26.9834 12.1978L49.7559 33.6382C50.4676 34.312 51.2123 34.6489 51.9902 34.6489C52.7684 34.6489 53.5137 34.3122 54.2256 33.6382L76.998 12.1978L79.9785 15.3345Z" fill="#6D778C"/> +<path d="M79.9785 15.3345L63.2822 31.0122L79.6055 48.0522L76.625 51.1899L60.1436 33.9585L56.7588 37.1382C55.9972 37.8641 55.2185 38.3908 54.4238 38.7192C53.6458 39.0476 52.8345 39.2124 51.9902 39.2124C51.146 39.2124 50.3268 39.0476 49.5322 38.7192C48.7542 38.3909 47.9842 37.864 47.2227 37.1382L43.8379 33.9595L27.4053 51.1636L24.4248 48.0269L40.7109 31.0239L24.0029 15.3345L26.9834 12.1978L49.7559 33.6382C50.4676 34.312 51.2123 34.6489 51.9902 34.6489C52.7684 34.6489 53.5137 34.3122 54.2256 33.6382L76.998 12.1978L79.9785 15.3345Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path d="M79.9785 15.3345L63.2822 31.0122L79.6055 48.0522L76.625 51.1899L60.1436 33.9585L56.7588 37.1382C55.9972 37.8641 55.2185 38.3908 54.4238 38.7192C53.6458 39.0476 52.8345 39.2124 51.9902 39.2124C51.146 39.2124 50.3268 39.0476 49.5322 38.7192C48.7542 38.3909 47.9842 37.864 47.2227 37.1382L43.8379 33.9595L27.4053 51.1636L24.4248 48.0269L40.7109 31.0239L24.0029 15.3345L26.9834 12.1978L49.7559 33.6382C50.4676 34.312 51.2123 34.6489 51.9902 34.6489C52.7684 34.6489 53.5137 34.3122 54.2256 33.6382L76.998 12.1978L79.9785 15.3345Z" fill="url(#paint1_linear_12121_1715)" fill-opacity="0.2"/> +<path d="M79.9785 15.3345L80.9671 16.3872L82.0261 15.3928L81.0254 14.3397L79.9785 15.3345ZM63.2822 31.0122L62.2937 29.9594L61.2304 30.9579L62.2394 32.0112L63.2822 31.0122ZM79.6055 48.0522L80.6525 49.0468L81.6013 48.048L80.6483 47.0532L79.6055 48.0522ZM76.625 51.1899L75.5814 52.1881L76.6286 53.283L77.6721 52.1845L76.625 51.1899ZM60.1436 33.9585L61.1872 32.9603L60.1979 31.926L59.1548 32.9059L60.1436 33.9585ZM56.7588 37.1382L55.77 36.0856L55.7624 36.0928L56.7588 37.1382ZM54.4238 38.7192L53.8723 37.3845L53.8624 37.3887L54.4238 38.7192ZM51.9902 39.2124L51.9902 40.6565H51.9902V39.2124ZM49.5322 38.7192L48.9707 40.0498L48.9807 40.0539L49.5322 38.7192ZM47.2227 37.1382L48.2191 36.0928L48.2113 36.0855L47.2227 37.1382ZM43.8379 33.9595L44.8265 32.9068L43.7827 31.9265L42.7936 32.962L43.8379 33.9595ZM27.4053 51.1636L26.3584 52.1583L27.4025 53.2573L28.4496 52.1611L27.4053 51.1636ZM24.4248 48.0269L23.3819 47.0279L22.4289 48.0229L23.3779 49.0216L24.4248 48.0269ZM40.7109 31.0239L41.7538 32.0229L42.7627 30.9696L41.6995 29.9712L40.7109 31.0239ZM24.0029 15.3345L22.956 14.3397L21.9554 15.3928L23.0144 16.3872L24.0029 15.3345ZM26.9834 12.1978L27.9733 11.1463L26.9267 10.1609L25.9365 11.203L26.9834 12.1978ZM49.7559 33.6382L50.7487 32.5895L50.7458 32.5867L49.7559 33.6382ZM51.9902 34.6489L51.9901 36.0931H51.9902V34.6489ZM54.2256 33.6382L53.2356 32.5867L53.2327 32.5895L54.2256 33.6382ZM76.998 12.1978L78.045 11.203L77.0547 10.1609L76.0081 11.1463L76.998 12.1978ZM79.9785 15.3345L78.99 14.2817L62.2937 29.9594L63.2822 31.0122L64.2708 32.065L80.9671 16.3872L79.9785 15.3345ZM63.2822 31.0122L62.2394 32.0112L78.5626 49.0512L79.6055 48.0522L80.6483 47.0532L64.3251 30.0132L63.2822 31.0122ZM79.6055 48.0522L78.5584 47.0577L75.5779 50.1953L76.625 51.1899L77.6721 52.1845L80.6525 49.0468L79.6055 48.0522ZM76.625 51.1899L77.6686 50.1917L61.1872 32.9603L60.1436 33.9585L59.0999 34.9567L75.5814 52.1881L76.625 51.1899ZM60.1436 33.9585L59.1548 32.9059L55.77 36.0856L56.7588 37.1382L57.7476 38.1907L61.1323 35.011L60.1436 33.9585ZM56.7588 37.1382L55.7624 36.0928C55.1025 36.7218 54.4703 37.1374 53.8723 37.3846L54.4238 38.7192L54.9754 40.0539C55.9667 39.6443 56.8919 39.0064 57.7552 38.1835L56.7588 37.1382ZM54.4238 38.7192L53.8624 37.3887C53.2612 37.6424 52.6408 37.7683 51.9902 37.7683V39.2124V40.6565C53.0282 40.6565 54.0303 40.4528 54.9853 40.0498L54.4238 38.7192ZM51.9902 39.2124L51.9903 37.7683C51.3396 37.7682 50.7074 37.6423 50.0837 37.3846L49.5322 38.7192L48.9807 40.0539C49.9461 40.4529 50.9525 40.6565 51.9902 40.6565L51.9902 39.2124ZM49.5322 38.7192L50.0937 37.3887C49.5106 37.1426 48.8837 36.7263 48.219 36.0928L47.2227 37.1382L46.2263 38.1835C47.0846 39.0017 47.9978 39.6391 48.9707 40.0497L49.5322 38.7192ZM47.2227 37.1382L48.2113 36.0855L44.8265 32.9068L43.8379 33.9595L42.8493 35.0122L46.234 38.1909L47.2227 37.1382ZM43.8379 33.9595L42.7936 32.962L26.361 50.1661L27.4053 51.1636L28.4496 52.1611L44.8822 34.957L43.8379 33.9595ZM27.4053 51.1636L28.4522 50.1688L25.4717 47.0321L24.4248 48.0269L23.3779 49.0216L26.3584 52.1583L27.4053 51.1636ZM24.4248 48.0269L25.4677 49.0258L41.7538 32.0229L40.7109 31.0239L39.668 30.025L23.3819 47.0279L24.4248 48.0269ZM40.7109 31.0239L41.6995 29.9712L24.9915 14.2817L24.0029 15.3345L23.0144 16.3872L39.7224 32.0767L40.7109 31.0239ZM24.0029 15.3345L25.0498 16.3292L28.0303 13.1925L26.9834 12.1978L25.9365 11.203L22.956 14.3397L24.0029 15.3345ZM26.9834 12.1978L25.9934 13.2492L48.7659 34.6896L49.7559 33.6382L50.7458 32.5867L27.9733 11.1463L26.9834 12.1978ZM49.7559 33.6382L48.763 34.6869C49.6702 35.5457 50.7535 36.093 51.9901 36.0931L51.9902 34.6489L51.9904 33.2048C51.671 33.2048 51.2651 33.0783 50.7487 32.5895L49.7559 33.6382ZM51.9902 34.6489V36.0931C53.2266 36.0931 54.3108 35.5463 55.2185 34.6868L54.2256 33.6382L53.2327 32.5895C52.7166 33.0782 52.3101 33.2048 51.9902 33.2048V34.6489ZM54.2256 33.6382L55.2155 34.6896L77.988 13.2492L76.998 12.1978L76.0081 11.1463L53.2356 32.5867L54.2256 33.6382ZM76.998 12.1978L75.9511 13.1925L78.9316 16.3292L79.9785 15.3345L81.0254 14.3397L78.045 11.203L76.998 12.1978Z" fill="white" mask="url(#path-3-inside-1_12121_1715)"/> +<path d="M79.9785 15.3345L80.9671 16.3872L82.0261 15.3928L81.0254 14.3397L79.9785 15.3345ZM63.2822 31.0122L62.2937 29.9594L61.2304 30.9579L62.2394 32.0112L63.2822 31.0122ZM79.6055 48.0522L80.6525 49.0468L81.6013 48.048L80.6483 47.0532L79.6055 48.0522ZM76.625 51.1899L75.5814 52.1881L76.6286 53.283L77.6721 52.1845L76.625 51.1899ZM60.1436 33.9585L61.1872 32.9603L60.1979 31.926L59.1548 32.9059L60.1436 33.9585ZM56.7588 37.1382L55.77 36.0856L55.7624 36.0928L56.7588 37.1382ZM54.4238 38.7192L53.8723 37.3845L53.8624 37.3887L54.4238 38.7192ZM51.9902 39.2124L51.9902 40.6565H51.9902V39.2124ZM49.5322 38.7192L48.9707 40.0498L48.9807 40.0539L49.5322 38.7192ZM47.2227 37.1382L48.2191 36.0928L48.2113 36.0855L47.2227 37.1382ZM43.8379 33.9595L44.8265 32.9068L43.7827 31.9265L42.7936 32.962L43.8379 33.9595ZM27.4053 51.1636L26.3584 52.1583L27.4025 53.2573L28.4496 52.1611L27.4053 51.1636ZM24.4248 48.0269L23.3819 47.0279L22.4289 48.0229L23.3779 49.0216L24.4248 48.0269ZM40.7109 31.0239L41.7538 32.0229L42.7627 30.9696L41.6995 29.9712L40.7109 31.0239ZM24.0029 15.3345L22.956 14.3397L21.9554 15.3928L23.0144 16.3872L24.0029 15.3345ZM26.9834 12.1978L27.9733 11.1463L26.9267 10.1609L25.9365 11.203L26.9834 12.1978ZM49.7559 33.6382L50.7487 32.5895L50.7458 32.5867L49.7559 33.6382ZM51.9902 34.6489L51.9901 36.0931H51.9902V34.6489ZM54.2256 33.6382L53.2356 32.5867L53.2327 32.5895L54.2256 33.6382ZM76.998 12.1978L78.045 11.203L77.0547 10.1609L76.0081 11.1463L76.998 12.1978ZM79.9785 15.3345L78.99 14.2817L62.2937 29.9594L63.2822 31.0122L64.2708 32.065L80.9671 16.3872L79.9785 15.3345ZM63.2822 31.0122L62.2394 32.0112L78.5626 49.0512L79.6055 48.0522L80.6483 47.0532L64.3251 30.0132L63.2822 31.0122ZM79.6055 48.0522L78.5584 47.0577L75.5779 50.1953L76.625 51.1899L77.6721 52.1845L80.6525 49.0468L79.6055 48.0522ZM76.625 51.1899L77.6686 50.1917L61.1872 32.9603L60.1436 33.9585L59.0999 34.9567L75.5814 52.1881L76.625 51.1899ZM60.1436 33.9585L59.1548 32.9059L55.77 36.0856L56.7588 37.1382L57.7476 38.1907L61.1323 35.011L60.1436 33.9585ZM56.7588 37.1382L55.7624 36.0928C55.1025 36.7218 54.4703 37.1374 53.8723 37.3846L54.4238 38.7192L54.9754 40.0539C55.9667 39.6443 56.8919 39.0064 57.7552 38.1835L56.7588 37.1382ZM54.4238 38.7192L53.8624 37.3887C53.2612 37.6424 52.6408 37.7683 51.9902 37.7683V39.2124V40.6565C53.0282 40.6565 54.0303 40.4528 54.9853 40.0498L54.4238 38.7192ZM51.9902 39.2124L51.9903 37.7683C51.3396 37.7682 50.7074 37.6423 50.0837 37.3846L49.5322 38.7192L48.9807 40.0539C49.9461 40.4529 50.9525 40.6565 51.9902 40.6565L51.9902 39.2124ZM49.5322 38.7192L50.0937 37.3887C49.5106 37.1426 48.8837 36.7263 48.219 36.0928L47.2227 37.1382L46.2263 38.1835C47.0846 39.0017 47.9978 39.6391 48.9707 40.0497L49.5322 38.7192ZM47.2227 37.1382L48.2113 36.0855L44.8265 32.9068L43.8379 33.9595L42.8493 35.0122L46.234 38.1909L47.2227 37.1382ZM43.8379 33.9595L42.7936 32.962L26.361 50.1661L27.4053 51.1636L28.4496 52.1611L44.8822 34.957L43.8379 33.9595ZM27.4053 51.1636L28.4522 50.1688L25.4717 47.0321L24.4248 48.0269L23.3779 49.0216L26.3584 52.1583L27.4053 51.1636ZM24.4248 48.0269L25.4677 49.0258L41.7538 32.0229L40.7109 31.0239L39.668 30.025L23.3819 47.0279L24.4248 48.0269ZM40.7109 31.0239L41.6995 29.9712L24.9915 14.2817L24.0029 15.3345L23.0144 16.3872L39.7224 32.0767L40.7109 31.0239ZM24.0029 15.3345L25.0498 16.3292L28.0303 13.1925L26.9834 12.1978L25.9365 11.203L22.956 14.3397L24.0029 15.3345ZM26.9834 12.1978L25.9934 13.2492L48.7659 34.6896L49.7559 33.6382L50.7458 32.5867L27.9733 11.1463L26.9834 12.1978ZM49.7559 33.6382L48.763 34.6869C49.6702 35.5457 50.7535 36.093 51.9901 36.0931L51.9902 34.6489L51.9904 33.2048C51.671 33.2048 51.2651 33.0783 50.7487 32.5895L49.7559 33.6382ZM51.9902 34.6489V36.0931C53.2266 36.0931 54.3108 35.5463 55.2185 34.6868L54.2256 33.6382L53.2327 32.5895C52.7166 33.0782 52.3101 33.2048 51.9902 33.2048V34.6489ZM54.2256 33.6382L55.2155 34.6896L77.988 13.2492L76.998 12.1978L76.0081 11.1463L53.2356 32.5867L54.2256 33.6382ZM76.998 12.1978L75.9511 13.1925L78.9316 16.3292L79.9785 15.3345L81.0254 14.3397L78.045 11.203L76.998 12.1978Z" fill="url(#paint2_linear_12121_1715)" fill-opacity="0.2" mask="url(#path-3-inside-1_12121_1715)"/> +</g> +<rect x="24.667" y="12.8618" width="54.647" height="37.6639" rx="6.50319" stroke="#6D778C" stroke-width="1.32804"/> +<rect x="24.667" y="12.8618" width="54.647" height="37.6639" rx="6.50319" stroke="#F6F8F9" stroke-opacity="0.8" stroke-width="1.32804"/> +<rect x="24.667" y="12.8618" width="54.647" height="37.6639" rx="6.50319" stroke="url(#paint3_linear_12121_1715)" stroke-opacity="0.2" stroke-width="1.32804"/> +</g> +<g filter="url(#filter1_d_12121_1715)"> +<path d="M74.6406 32.501C75.5586 32.4934 76.4246 32.9638 77.2324 33.7705L79.0186 35.5098L79.0195 35.5107C79.0695 35.5598 79.1259 35.5869 79.2217 35.5869H81.7363C82.8925 35.587 83.849 35.8591 84.4971 36.5039C85.1432 37.1469 85.4199 38.0822 85.4199 39.208V41.6846C85.4199 41.7322 85.4295 41.7697 85.459 41.8086L85.4951 41.8486L85.501 41.8535L85.5059 41.8584L87.2803 43.6094V43.6104C88.0894 44.4118 88.5684 45.2689 88.5684 46.1768C88.5683 47.0848 88.0887 47.9375 87.2793 48.7314L85.5059 50.4834L85.501 50.4883L85.4951 50.4932C85.4408 50.5439 85.4199 50.5922 85.4199 50.6689V53.1338C85.4198 54.2735 85.1402 55.2173 84.4805 55.8545L84.4795 55.8535C83.8319 56.4866 82.8827 56.7548 81.7363 56.7549H79.2217C79.1259 56.7549 79.0695 56.782 79.0195 56.8311L79.0186 56.8301L77.2344 58.5811C76.4241 59.3755 75.5586 59.8393 74.6445 59.8408H74.6416L74.6406 59.8418V59.8408C73.7228 59.8488 72.8556 59.3826 72.0459 58.5811L70.2607 56.8301C70.2108 56.7811 70.1544 56.7549 70.0586 56.7549H67.5322C66.3896 56.7548 65.4417 56.4812 64.7881 55.8418C64.1294 55.2052 63.8487 54.2667 63.8486 53.1338V50.6689C63.8486 50.575 63.8225 50.5213 63.7773 50.4746H63.7764L62.0029 48.7344C61.1854 47.9409 60.7003 47.0869 60.7002 46.1768C60.7002 45.267 61.1851 44.4092 62.002 43.6084L63.7773 41.8652C63.8256 41.8151 63.8486 41.765 63.8486 41.6846V39.208C63.8487 38.0701 64.1241 37.1278 64.7744 36.4902L64.7764 36.4873C65.4308 35.8553 66.3836 35.587 67.5322 35.5869H70.0586C70.1544 35.5869 70.2107 35.5598 70.2607 35.5107L70.2617 35.5098L72.0439 33.7734C72.8534 32.9717 73.7192 32.5028 74.6348 32.501H74.6377L74.6406 32.5V32.501Z" fill="#6D778C"/> +<path d="M74.6406 32.501C75.5586 32.4934 76.4246 32.9638 77.2324 33.7705L79.0186 35.5098L79.0195 35.5107C79.0695 35.5598 79.1259 35.5869 79.2217 35.5869H81.7363C82.8925 35.587 83.849 35.8591 84.4971 36.5039C85.1432 37.1469 85.4199 38.0822 85.4199 39.208V41.6846C85.4199 41.7322 85.4295 41.7697 85.459 41.8086L85.4951 41.8486L85.501 41.8535L85.5059 41.8584L87.2803 43.6094V43.6104C88.0894 44.4118 88.5684 45.2689 88.5684 46.1768C88.5683 47.0848 88.0887 47.9375 87.2793 48.7314L85.5059 50.4834L85.501 50.4883L85.4951 50.4932C85.4408 50.5439 85.4199 50.5922 85.4199 50.6689V53.1338C85.4198 54.2735 85.1402 55.2173 84.4805 55.8545L84.4795 55.8535C83.8319 56.4866 82.8827 56.7548 81.7363 56.7549H79.2217C79.1259 56.7549 79.0695 56.782 79.0195 56.8311L79.0186 56.8301L77.2344 58.5811C76.4241 59.3755 75.5586 59.8393 74.6445 59.8408H74.6416L74.6406 59.8418V59.8408C73.7228 59.8488 72.8556 59.3826 72.0459 58.5811L70.2607 56.8301C70.2108 56.7811 70.1544 56.7549 70.0586 56.7549H67.5322C66.3896 56.7548 65.4417 56.4812 64.7881 55.8418C64.1294 55.2052 63.8487 54.2667 63.8486 53.1338V50.6689C63.8486 50.575 63.8225 50.5213 63.7773 50.4746H63.7764L62.0029 48.7344C61.1854 47.9409 60.7003 47.0869 60.7002 46.1768C60.7002 45.267 61.1851 44.4092 62.002 43.6084L63.7773 41.8652C63.8256 41.8151 63.8486 41.765 63.8486 41.6846V39.208C63.8487 38.0701 64.1241 37.1278 64.7744 36.4902L64.7764 36.4873C65.4308 35.8553 66.3836 35.587 67.5322 35.5869H70.0586C70.1544 35.5869 70.2107 35.5598 70.2607 35.5107L70.2617 35.5098L72.0439 33.7734C72.8534 32.9717 73.7192 32.5028 74.6348 32.501H74.6377L74.6406 32.5V32.501Z" fill="#367664"/> +<path d="M74.6406 32.501C75.5586 32.4934 76.4246 32.9638 77.2324 33.7705L79.0186 35.5098L79.0195 35.5107C79.0695 35.5598 79.1259 35.5869 79.2217 35.5869H81.7363C82.8925 35.587 83.849 35.8591 84.4971 36.5039C85.1432 37.1469 85.4199 38.0822 85.4199 39.208V41.6846C85.4199 41.7322 85.4295 41.7697 85.459 41.8086L85.4951 41.8486L85.501 41.8535L85.5059 41.8584L87.2803 43.6094V43.6104C88.0894 44.4118 88.5684 45.2689 88.5684 46.1768C88.5683 47.0848 88.0887 47.9375 87.2793 48.7314L85.5059 50.4834L85.501 50.4883L85.4951 50.4932C85.4408 50.5439 85.4199 50.5922 85.4199 50.6689V53.1338C85.4198 54.2735 85.1402 55.2173 84.4805 55.8545L84.4795 55.8535C83.8319 56.4866 82.8827 56.7548 81.7363 56.7549H79.2217C79.1259 56.7549 79.0695 56.782 79.0195 56.8311L79.0186 56.8301L77.2344 58.5811C76.4241 59.3755 75.5586 59.8393 74.6445 59.8408H74.6416L74.6406 59.8418V59.8408C73.7228 59.8488 72.8556 59.3826 72.0459 58.5811L70.2607 56.8301C70.2108 56.7811 70.1544 56.7549 70.0586 56.7549H67.5322C66.3896 56.7548 65.4417 56.4812 64.7881 55.8418C64.1294 55.2052 63.8487 54.2667 63.8486 53.1338V50.6689C63.8486 50.575 63.8225 50.5213 63.7773 50.4746H63.7764L62.0029 48.7344C61.1854 47.9409 60.7003 47.0869 60.7002 46.1768C60.7002 45.267 61.1851 44.4092 62.002 43.6084L63.7773 41.8652C63.8256 41.8151 63.8486 41.765 63.8486 41.6846V39.208C63.8487 38.0701 64.1241 37.1278 64.7744 36.4902L64.7764 36.4873C65.4308 35.8553 66.3836 35.587 67.5322 35.5869H70.0586C70.1544 35.5869 70.2107 35.5598 70.2607 35.5107L70.2617 35.5098L72.0439 33.7734C72.8534 32.9717 73.7192 32.5028 74.6348 32.501H74.6377L74.6406 32.5V32.501Z" stroke="#367664"/> +<path d="M74.6406 32.501C75.5586 32.4934 76.4246 32.9638 77.2324 33.7705L79.0186 35.5098L79.0195 35.5107C79.0695 35.5598 79.1259 35.5869 79.2217 35.5869H81.7363C82.8925 35.587 83.849 35.8591 84.4971 36.5039C85.1432 37.1469 85.4199 38.0822 85.4199 39.208V41.6846C85.4199 41.7322 85.4295 41.7697 85.459 41.8086L85.4951 41.8486L85.501 41.8535L85.5059 41.8584L87.2803 43.6094V43.6104C88.0894 44.4118 88.5684 45.2689 88.5684 46.1768C88.5683 47.0848 88.0887 47.9375 87.2793 48.7314L85.5059 50.4834L85.501 50.4883L85.4951 50.4932C85.4408 50.5439 85.4199 50.5922 85.4199 50.6689V53.1338C85.4198 54.2735 85.1402 55.2173 84.4805 55.8545L84.4795 55.8535C83.8319 56.4866 82.8827 56.7548 81.7363 56.7549H79.2217C79.1259 56.7549 79.0695 56.782 79.0195 56.8311L79.0186 56.8301L77.2344 58.5811C76.4241 59.3755 75.5586 59.8393 74.6445 59.8408H74.6416L74.6406 59.8418V59.8408C73.7228 59.8488 72.8556 59.3826 72.0459 58.5811L70.2607 56.8301C70.2108 56.7811 70.1544 56.7549 70.0586 56.7549H67.5322C66.3896 56.7548 65.4417 56.4812 64.7881 55.8418C64.1294 55.2052 63.8487 54.2667 63.8486 53.1338V50.6689C63.8486 50.575 63.8225 50.5213 63.7773 50.4746H63.7764L62.0029 48.7344C61.1854 47.9409 60.7003 47.0869 60.7002 46.1768C60.7002 45.267 61.1851 44.4092 62.002 43.6084L63.7773 41.8652C63.8256 41.8151 63.8486 41.765 63.8486 41.6846V39.208C63.8487 38.0701 64.1241 37.1278 64.7744 36.4902L64.7764 36.4873C65.4308 35.8553 66.3836 35.587 67.5322 35.5869H70.0586C70.1544 35.5869 70.2107 35.5598 70.2607 35.5107L70.2617 35.5098L72.0439 33.7734C72.8534 32.9717 73.7192 32.5028 74.6348 32.501H74.6377L74.6406 32.5V32.501Z" stroke="#F6F8F9" stroke-opacity="0.25"/> +<g filter="url(#filter2_d_12121_1715)"> +<path d="M73.9347 51.6936C73.7546 51.7934 73.5549 51.8434 73.3356 51.8434C73.1084 51.8434 72.9048 51.7973 72.7247 51.7051C72.5445 51.613 72.3683 51.4633 72.196 51.2559L69.3177 47.8236C69.2159 47.6931 69.1376 47.5587 69.0827 47.4205C69.0279 47.2823 69.0005 47.1402 69.0005 46.9943C69.0005 46.7025 69.1023 46.453 69.3059 46.2457C69.5174 46.0307 69.772 45.9232 70.0696 45.9232C70.2575 45.9232 70.4259 45.9616 70.5747 46.0383C70.7236 46.1151 70.8763 46.2495 71.0329 46.4415L73.2886 49.2518L78.1524 41.627C78.403 41.2277 78.7202 41.0281 79.104 41.0281C79.3938 41.0281 79.6522 41.1202 79.8793 41.3045C80.1143 41.4888 80.2318 41.7307 80.2318 42.0301C80.2318 42.1607 80.2005 42.2989 80.1378 42.4448C80.0751 42.583 80.0047 42.7135 79.9263 42.8364L74.4282 51.2444C74.2872 51.4441 74.1227 51.5938 73.9347 51.6936Z" fill="#367664"/> +<path d="M73.9347 51.6936C73.7546 51.7934 73.5549 51.8434 73.3356 51.8434C73.1084 51.8434 72.9048 51.7973 72.7247 51.7051C72.5445 51.613 72.3683 51.4633 72.196 51.2559L69.3177 47.8236C69.2159 47.6931 69.1376 47.5587 69.0827 47.4205C69.0279 47.2823 69.0005 47.1402 69.0005 46.9943C69.0005 46.7025 69.1023 46.453 69.3059 46.2457C69.5174 46.0307 69.772 45.9232 70.0696 45.9232C70.2575 45.9232 70.4259 45.9616 70.5747 46.0383C70.7236 46.1151 70.8763 46.2495 71.0329 46.4415L73.2886 49.2518L78.1524 41.627C78.403 41.2277 78.7202 41.0281 79.104 41.0281C79.3938 41.0281 79.6522 41.1202 79.8793 41.3045C80.1143 41.4888 80.2318 41.7307 80.2318 42.0301C80.2318 42.1607 80.2005 42.2989 80.1378 42.4448C80.0751 42.583 80.0047 42.7135 79.9263 42.8364L74.4282 51.2444C74.2872 51.4441 74.1227 51.5938 73.9347 51.6936Z" fill="#F6F8F9" fill-opacity="0.9"/> +</g> +</g> +</g> +<defs> +<filter id="filter0_d_12121_1715" x="10.771" y="-5.79441" width="81.4721" height="80.172" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="3.79441"/> +<feGaussianBlur stdDeviation="3.79441"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 0.0941176 0 0 0 0 0.105882 0 0 0 0 0.141176 0 0 0 0.05 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1715"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1715" result="shape"/> +</filter> +<filter id="filter1_d_12121_1715" x="53.896" y="28.8479" width="41.4766" height="40.95" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="3.15211"/> +<feGaussianBlur stdDeviation="3.15211"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 0.247059 0 0 0 0 0.486275 0 0 0 0 0.419608 0 0 0 0.17 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1715"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1715" result="shape"/> +</filter> +<filter id="filter2_d_12121_1715" x="60.4824" y="32.5099" width="28.2677" height="27.8514" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset/> +<feGaussianBlur stdDeviation="4.25907"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.3 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1715"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1715" result="shape"/> +</filter> +<linearGradient id="paint0_linear_12121_1715" x1="51.9905" y1="12.1978" x2="51.9905" y2="51.1897" gradientUnits="userSpaceOnUse"> +<stop stop-color="#181B24" stop-opacity="0"/> +<stop offset="1" stop-color="#181B24" stop-opacity="0.2"/> +</linearGradient> +<linearGradient id="paint1_linear_12121_1715" x1="51.9907" y1="12.1978" x2="51.9907" y2="51.1899" gradientUnits="userSpaceOnUse"> +<stop stop-color="#181B24" stop-opacity="0"/> +<stop offset="1" stop-color="#181B24" stop-opacity="0.2"/> +</linearGradient> +<linearGradient id="paint2_linear_12121_1715" x1="51.9907" y1="12.1978" x2="51.9907" y2="51.1899" gradientUnits="userSpaceOnUse"> +<stop stop-color="#181B24" stop-opacity="0"/> +<stop offset="1" stop-color="#181B24" stop-opacity="0.2"/> +</linearGradient> +<linearGradient id="paint3_linear_12121_1715" x1="51.9905" y1="12.1978" x2="51.9905" y2="51.1897" gradientUnits="userSpaceOnUse"> +<stop stop-color="#181B24" stop-opacity="0"/> +<stop offset="1" stop-color="#181B24" stop-opacity="0.2"/> +</linearGradient> +<clipPath id="clip0_12121_1715"> +<rect width="102" height="72" fill="white"/> +</clipPath> +<clipPath id="clip1_12121_1715"> +<rect x="24.0029" y="12.1978" width="55.9751" height="38.9919" rx="7.16721" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/src/frontend/apps/impress/src/features/auth/assets/email-validation-error.svg b/src/frontend/apps/impress/src/features/auth/assets/email-validation-error.svg new file mode 100644 index 0000000000..aee910b78b --- /dev/null +++ b/src/frontend/apps/impress/src/features/auth/assets/email-validation-error.svg @@ -0,0 +1,157 @@ +<svg width="102" height="72" viewBox="0 0 102 72" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g filter="url(#filter0_d_12121_1714)"> +<g clip-path="url(#clip0_12121_1714)"> +<rect width="27.6" height="36.8" rx="4.08889" transform="matrix(0.967185 0.254075 -0.263639 0.964621 64.813 11.7747)" fill="white"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M65.4981 24.7822C65.6469 24.2376 66.2102 23.9124 66.7563 24.0559L83.501 28.4546C84.047 28.5981 84.369 29.1558 84.2202 29.7004C84.0714 30.245 83.5081 30.5702 82.962 30.4267L66.2173 26.028C65.6712 25.8845 65.3492 25.3268 65.4981 24.7822ZM64.6896 27.7404C64.8384 27.1958 65.4017 26.8706 65.9478 27.014L82.6925 31.4128C83.2386 31.5562 83.5605 32.114 83.4117 32.6586C83.2629 33.2032 82.6996 33.5284 82.1535 33.3849L65.4088 28.9862C64.8627 28.8427 64.5407 28.285 64.6896 27.7404ZM63.8811 30.6985C64.0299 30.154 64.5932 29.8288 65.1393 29.9722L81.884 34.371C82.4301 34.5144 82.7521 35.0722 82.6032 35.6168C82.4544 36.1613 81.8911 36.4865 81.345 36.3431L64.6003 31.9443C64.0542 31.8009 63.7323 31.2431 63.8811 30.6985ZM63.0726 33.6567C63.2214 33.1121 63.7847 32.7869 64.3308 32.9304L72.1774 34.9917C72.7235 35.1351 73.0455 35.6929 72.8966 36.2374C72.7478 36.782 72.1845 37.1072 71.6384 36.9638L63.7918 34.9025C63.2458 34.7591 62.9238 34.2013 63.0726 33.6567Z" fill="#6A6AF4"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M65.4981 24.7822C65.6469 24.2376 66.2102 23.9124 66.7563 24.0559L83.501 28.4546C84.047 28.5981 84.369 29.1558 84.2202 29.7004C84.0714 30.245 83.5081 30.5702 82.962 30.4267L66.2173 26.028C65.6712 25.8845 65.3492 25.3268 65.4981 24.7822ZM64.6896 27.7404C64.8384 27.1958 65.4017 26.8706 65.9478 27.014L82.6925 31.4128C83.2386 31.5562 83.5605 32.114 83.4117 32.6586C83.2629 33.2032 82.6996 33.5284 82.1535 33.3849L65.4088 28.9862C64.8627 28.8427 64.5407 28.285 64.6896 27.7404ZM63.8811 30.6985C64.0299 30.154 64.5932 29.8288 65.1393 29.9722L81.884 34.371C82.4301 34.5144 82.7521 35.0722 82.6032 35.6168C82.4544 36.1613 81.8911 36.4865 81.345 36.3431L64.6003 31.9443C64.0542 31.8009 63.7323 31.2431 63.8811 30.6985ZM63.0726 33.6567C63.2214 33.1121 63.7847 32.7869 64.3308 32.9304L72.1774 34.9917C72.7235 35.1351 73.0455 35.6929 72.8966 36.2374C72.7478 36.782 72.1845 37.1072 71.6384 36.9638L63.7918 34.9025C63.2458 34.7591 62.9238 34.2013 63.0726 33.6567Z" fill="white" fill-opacity="0.65"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M65.4981 24.7822C65.6469 24.2376 66.2102 23.9124 66.7563 24.0559L83.501 28.4546C84.047 28.5981 84.369 29.1558 84.2202 29.7004C84.0714 30.245 83.5081 30.5702 82.962 30.4267L66.2173 26.028C65.6712 25.8845 65.3492 25.3268 65.4981 24.7822ZM64.6896 27.7404C64.8384 27.1958 65.4017 26.8706 65.9478 27.014L82.6925 31.4128C83.2386 31.5562 83.5605 32.114 83.4117 32.6586C83.2629 33.2032 82.6996 33.5284 82.1535 33.3849L65.4088 28.9862C64.8627 28.8427 64.5407 28.285 64.6896 27.7404ZM63.8811 30.6985C64.0299 30.154 64.5932 29.8288 65.1393 29.9722L81.884 34.371C82.4301 34.5144 82.7521 35.0722 82.6032 35.6168C82.4544 36.1613 81.8911 36.4865 81.345 36.3431L64.6003 31.9443C64.0542 31.8009 63.7323 31.2431 63.8811 30.6985ZM63.0726 33.6567C63.2214 33.1121 63.7847 32.7869 64.3308 32.9304L72.1774 34.9917C72.7235 35.1351 73.0455 35.6929 72.8966 36.2374C72.7478 36.782 72.1845 37.1072 71.6384 36.9638L63.7918 34.9025C63.2458 34.7591 62.9238 34.2013 63.0726 33.6567Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M65.4981 24.7822C65.6469 24.2376 66.2102 23.9124 66.7563 24.0559L83.501 28.4546C84.047 28.5981 84.369 29.1558 84.2202 29.7004C84.0714 30.245 83.5081 30.5702 82.962 30.4267L66.2173 26.028C65.6712 25.8845 65.3492 25.3268 65.4981 24.7822ZM64.6896 27.7404C64.8384 27.1958 65.4017 26.8706 65.9478 27.014L82.6925 31.4128C83.2386 31.5562 83.5605 32.114 83.4117 32.6586C83.2629 33.2032 82.6996 33.5284 82.1535 33.3849L65.4088 28.9862C64.8627 28.8427 64.5407 28.285 64.6896 27.7404ZM63.8811 30.6985C64.0299 30.154 64.5932 29.8288 65.1393 29.9722L81.884 34.371C82.4301 34.5144 82.7521 35.0722 82.6032 35.6168C82.4544 36.1613 81.8911 36.4865 81.345 36.3431L64.6003 31.9443C64.0542 31.8009 63.7323 31.2431 63.8811 30.6985ZM63.0726 33.6567C63.2214 33.1121 63.7847 32.7869 64.3308 32.9304L72.1774 34.9917C72.7235 35.1351 73.0455 35.6929 72.8966 36.2374C72.7478 36.782 72.1845 37.1072 71.6384 36.9638L63.7918 34.9025C63.2458 34.7591 62.9238 34.2013 63.0726 33.6567Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M65.4981 24.7822C65.6469 24.2376 66.2102 23.9124 66.7563 24.0559L83.501 28.4546C84.047 28.5981 84.369 29.1558 84.2202 29.7004C84.0714 30.245 83.5081 30.5702 82.962 30.4267L66.2173 26.028C65.6712 25.8845 65.3492 25.3268 65.4981 24.7822ZM64.6896 27.7404C64.8384 27.1958 65.4017 26.8706 65.9478 27.014L82.6925 31.4128C83.2386 31.5562 83.5605 32.114 83.4117 32.6586C83.2629 33.2032 82.6996 33.5284 82.1535 33.3849L65.4088 28.9862C64.8627 28.8427 64.5407 28.285 64.6896 27.7404ZM63.8811 30.6985C64.0299 30.154 64.5932 29.8288 65.1393 29.9722L81.884 34.371C82.4301 34.5144 82.7521 35.0722 82.6032 35.6168C82.4544 36.1613 81.8911 36.4865 81.345 36.3431L64.6003 31.9443C64.0542 31.8009 63.7323 31.2431 63.8811 30.6985ZM63.0726 33.6567C63.2214 33.1121 63.7847 32.7869 64.3308 32.9304L72.1774 34.9917C72.7235 35.1351 73.0455 35.6929 72.8966 36.2374C72.7478 36.782 72.1845 37.1072 71.6384 36.9638L63.7918 34.9025C63.2458 34.7591 62.9238 34.2013 63.0726 33.6567Z" fill="url(#paint0_linear_12121_1714)" fill-opacity="0.35"/> +<path d="M64.8135 11.7748L91.5073 18.7871L89.385 26.5523L62.6907 19.5399L64.8135 11.7748Z" fill="#6D778C"/> +<path d="M64.8135 11.7748L91.5073 18.7871L89.385 26.5523L62.6907 19.5399L64.8135 11.7748Z" fill="#F6F8F9" fill-opacity="0.975"/> +<path d="M64.8135 11.7748L91.5073 18.7871L89.385 26.5523L62.6907 19.5399L64.8135 11.7748Z" fill="url(#paint1_linear_12121_1714)" fill-opacity="0.4"/> +</g> +<rect x="0.283177" y="0.490525" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 0.254075 -0.263639 0.964621 64.9516 11.7201)" stroke="#6D778C" stroke-width="0.805"/> +<rect x="0.283177" y="0.490525" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 0.254075 -0.263639 0.964621 64.9516 11.7201)" stroke="#F6F8F9" stroke-opacity="0.8" stroke-width="0.805"/> +<rect x="0.283177" y="0.490525" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 0.254075 -0.263639 0.964621 64.9516 11.7201)" stroke="url(#paint2_linear_12121_1714)" stroke-opacity="0.2" stroke-width="0.805"/> +</g> +<g filter="url(#filter1_d_12121_1714)"> +<g clip-path="url(#clip1_12121_1714)"> +<rect width="27.6" height="36.8" rx="4.08889" transform="matrix(0.967185 -0.254075 0.263639 0.964621 10.1108 18.7874)" fill="white"/> +<path d="M10.1099 18.7875L37.1911 11.6734L40.0713 22.2118L12.9896 29.3261L10.1099 18.7875Z" fill="#6D778C"/> +<path d="M10.1099 18.7875L37.1911 11.6734L40.0713 22.2118L12.9896 29.3261L10.1099 18.7875Z" fill="#F6F8F9" fill-opacity="0.975"/> +<path d="M10.1099 18.7875L37.1911 11.6734L40.0713 22.2118L12.9896 29.3261L10.1099 18.7875Z" fill="url(#paint3_linear_12121_1714)" fill-opacity="0.4"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M16.436 28.4077C16.2872 27.8631 16.6091 27.3053 17.1552 27.1619L26.0533 24.8244C26.5993 24.681 27.1626 25.0062 27.3115 25.5508C27.4603 26.0953 27.1383 26.6531 26.5923 26.7965L17.6942 29.134C17.1481 29.2775 16.5848 28.9523 16.436 28.4077Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M16.436 28.4077C16.2872 27.8631 16.6091 27.3053 17.1552 27.1619L26.0533 24.8244C26.5993 24.681 27.1626 25.0062 27.3115 25.5508C27.4603 26.0953 27.1383 26.6531 26.5923 26.7965L17.6942 29.134C17.1481 29.2775 16.5848 28.9523 16.436 28.4077Z" fill="#F6F8F9" fill-opacity="0.15"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M17.6006 32.6196C17.4517 32.075 17.7737 31.5173 18.3197 31.3738L36.1159 26.6988C36.662 26.5554 37.2253 26.8806 37.3741 27.4252C37.5229 27.9698 37.201 28.5275 36.6549 28.671L18.8587 33.3459C18.3127 33.4894 17.7494 33.1642 17.6006 32.6196Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M17.6006 32.6196C17.4517 32.075 17.7737 31.5173 18.3197 31.3738L36.1159 26.6988C36.662 26.5554 37.2253 26.8806 37.3741 27.4252C37.5229 27.9698 37.201 28.5275 36.6549 28.671L18.8587 33.3459C18.3127 33.4894 17.7494 33.1642 17.6006 32.6196Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M17.6006 32.6196C17.4517 32.075 17.7737 31.5173 18.3197 31.3738L36.1159 26.6988C36.662 26.5554 37.2253 26.8806 37.3741 27.4252C37.5229 27.9698 37.201 28.5275 36.6549 28.671L18.8587 33.3459C18.3127 33.4894 17.7494 33.1642 17.6006 32.6196Z" fill="url(#paint4_linear_12121_1714)" fill-opacity="0.35"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M18.5101 35.9475C18.3613 35.403 18.6833 34.8452 19.2293 34.7018L37.0255 30.0268C37.5715 29.8834 38.1348 30.2085 38.2837 30.7531C38.4325 31.2977 38.1105 31.8555 37.5645 31.9989L19.7683 36.6739C19.2223 36.8173 18.6589 36.4921 18.5101 35.9475Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M18.5101 35.9475C18.3613 35.403 18.6833 34.8452 19.2293 34.7018L37.0255 30.0268C37.5715 29.8834 38.1348 30.2085 38.2837 30.7531C38.4325 31.2977 38.1105 31.8555 37.5645 31.9989L19.7683 36.6739C19.2223 36.8173 18.6589 36.4921 18.5101 35.9475Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M18.5101 35.9475C18.3613 35.403 18.6833 34.8452 19.2293 34.7018L37.0255 30.0268C37.5715 29.8834 38.1348 30.2085 38.2837 30.7531C38.4325 31.2977 38.1105 31.8555 37.5645 31.9989L19.7683 36.6739C19.2223 36.8173 18.6589 36.4921 18.5101 35.9475Z" fill="url(#paint5_linear_12121_1714)" fill-opacity="0.35"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M19.4197 39.2755C19.2708 38.7309 19.5928 38.1732 20.1388 38.0297L37.935 33.3547C38.4811 33.2113 39.0444 33.5365 39.1932 34.0811C39.3421 34.6257 39.0201 35.1834 38.474 35.3268L20.6778 40.0018C20.1318 40.1453 19.5685 39.8201 19.4197 39.2755Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M19.4197 39.2755C19.2708 38.7309 19.5928 38.1732 20.1388 38.0297L37.935 33.3547C38.4811 33.2113 39.0444 33.5365 39.1932 34.0811C39.3421 34.6257 39.0201 35.1834 38.474 35.3268L20.6778 40.0018C20.1318 40.1453 19.5685 39.8201 19.4197 39.2755Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M19.4197 39.2755C19.2708 38.7309 19.5928 38.1732 20.1388 38.0297L37.935 33.3547C38.4811 33.2113 39.0444 33.5365 39.1932 34.0811C39.3421 34.6257 39.0201 35.1834 38.474 35.3268L20.6778 40.0018C20.1318 40.1453 19.5685 39.8201 19.4197 39.2755Z" fill="url(#paint6_linear_12121_1714)" fill-opacity="0.35"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M20.3292 42.6034C20.1804 42.0589 20.5024 41.5011 21.0484 41.3577L38.8446 36.6827C39.3906 36.5392 39.9539 36.8644 40.1028 37.409C40.2516 37.9536 39.9296 38.5114 39.3836 38.6548L21.5874 43.3298C21.0414 43.4732 20.4781 43.148 20.3292 42.6034Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M20.3292 42.6034C20.1804 42.0589 20.5024 41.5011 21.0484 41.3577L38.8446 36.6827C39.3906 36.5392 39.9539 36.8644 40.1028 37.409C40.2516 37.9536 39.9296 38.5114 39.3836 38.6548L21.5874 43.3298C21.0414 43.4732 20.4781 43.148 20.3292 42.6034Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M20.3292 42.6034C20.1804 42.0589 20.5024 41.5011 21.0484 41.3577L38.8446 36.6827C39.3906 36.5392 39.9539 36.8644 40.1028 37.409C40.2516 37.9536 39.9296 38.5114 39.3836 38.6548L21.5874 43.3298C21.0414 43.4732 20.4781 43.148 20.3292 42.6034Z" fill="url(#paint7_linear_12121_1714)" fill-opacity="0.35"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M21.2388 45.9314C21.0899 45.3868 21.4119 44.829 21.9579 44.6856L39.7541 40.0106C40.3002 39.8672 40.8635 40.1924 41.0123 40.737C41.1612 41.2815 40.8392 41.8393 40.2931 41.9827L22.4969 46.6577C21.9509 46.8012 21.3876 46.476 21.2388 45.9314Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M21.2388 45.9314C21.0899 45.3868 21.4119 44.829 21.9579 44.6856L39.7541 40.0106C40.3002 39.8672 40.8635 40.1924 41.0123 40.737C41.1612 41.2815 40.8392 41.8393 40.2931 41.9827L22.4969 46.6577C21.9509 46.8012 21.3876 46.476 21.2388 45.9314Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M21.2388 45.9314C21.0899 45.3868 21.4119 44.829 21.9579 44.6856L39.7541 40.0106C40.3002 39.8672 40.8635 40.1924 41.0123 40.737C41.1612 41.2815 40.8392 41.8393 40.2931 41.9827L22.4969 46.6577C21.9509 46.8012 21.3876 46.476 21.2388 45.9314Z" fill="url(#paint8_linear_12121_1714)" fill-opacity="0.35"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M22.1483 49.2593C21.9995 48.7147 22.3215 48.157 22.8675 48.0135L40.6637 43.3386C41.2097 43.1951 41.773 43.5203 41.9219 44.0649C42.0707 44.6095 41.7487 45.1672 41.2027 45.3107L23.4065 49.9857C22.8605 50.1291 22.2972 49.8039 22.1483 49.2593Z" fill="#6D778C"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M22.1483 49.2593C21.9995 48.7147 22.3215 48.157 22.8675 48.0135L40.6637 43.3386C41.2097 43.1951 41.773 43.5203 41.9219 44.0649C42.0707 44.6095 41.7487 45.1672 41.2027 45.3107L23.4065 49.9857C22.8605 50.1291 22.2972 49.8039 22.1483 49.2593Z" fill="#F6F8F9" fill-opacity="0.8"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M22.1483 49.2593C21.9995 48.7147 22.3215 48.157 22.8675 48.0135L40.6637 43.3386C41.2097 43.1951 41.773 43.5203 41.9219 44.0649C42.0707 44.6095 41.7487 45.1672 41.2027 45.3107L23.4065 49.9857C22.8605 50.1291 22.2972 49.8039 22.1483 49.2593Z" fill="url(#paint9_linear_12121_1714)" fill-opacity="0.35"/> +</g> +<rect x="0.495406" y="0.285995" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 -0.254075 0.263639 0.964621 10.0517 18.9233)" stroke="#6D778C" stroke-width="0.805"/> +<rect x="0.495406" y="0.285995" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 -0.254075 0.263639 0.964621 10.0517 18.9233)" stroke="#F6F8F9" stroke-opacity="0.8" stroke-width="0.805"/> +<rect x="0.495406" y="0.285995" width="26.795" height="35.995" rx="3.68639" transform="matrix(0.967185 -0.254075 0.263639 0.964621 10.0517 18.9233)" stroke="url(#paint10_linear_12121_1714)" stroke-opacity="0.2" stroke-width="0.805"/> +</g> +<g filter="url(#filter2_d_12121_1714)"> +<path d="M50.0938 10.1895C50.7984 10.1895 51.4697 10.3537 52.0967 10.6797L52.0957 10.6807C52.7838 11.0072 53.3219 11.5367 53.7158 12.2256H53.7168L77.5342 53.7754L77.543 53.791L77.5508 53.8066C77.9324 54.5461 78.1328 55.3179 78.1328 56.1143C78.1328 57.2505 77.7445 58.2575 76.9844 59.0996L76.9854 59.1006C76.1959 60.0216 75.1177 60.459 73.8496 60.459H26.3076C25.0395 60.459 23.9613 60.0216 23.1719 59.1006V59.0996C22.4298 58.2544 22.0547 57.247 22.0547 56.1143C22.0547 55.7708 22.0913 55.405 22.1592 55.0205L22.1631 54.998L22.168 54.9766C22.2647 54.5656 22.4093 54.1678 22.6006 53.7852L22.6113 53.7646L22.623 53.7441L46.4404 12.2256C46.8364 11.5331 47.3782 11.002 48.0713 10.6758V10.6738C48.7121 10.3534 49.3893 10.1895 50.0938 10.1895Z" fill="#CF202D"/> +<path d="M50.0938 10.1895C50.7984 10.1895 51.4697 10.3537 52.0967 10.6797L52.0957 10.6807C52.7838 11.0072 53.3219 11.5367 53.7158 12.2256H53.7168L77.5342 53.7754L77.543 53.791L77.5508 53.8066C77.9324 54.5461 78.1328 55.3179 78.1328 56.1143C78.1328 57.2505 77.7445 58.2575 76.9844 59.0996L76.9854 59.1006C76.1959 60.0216 75.1177 60.459 73.8496 60.459H26.3076C25.0395 60.459 23.9613 60.0216 23.1719 59.1006V59.0996C22.4298 58.2544 22.0547 57.247 22.0547 56.1143C22.0547 55.7708 22.0913 55.405 22.1592 55.0205L22.1631 54.998L22.168 54.9766C22.2647 54.5656 22.4093 54.1678 22.6006 53.7852L22.6113 53.7646L22.623 53.7441L46.4404 12.2256C46.8364 11.5331 47.3782 11.002 48.0713 10.6758V10.6738C48.7121 10.3534 49.3893 10.1895 50.0938 10.1895Z" fill="#F6F8F9" fill-opacity="0.25"/> +<path d="M50.0938 10.1895C50.7984 10.1895 51.4697 10.3537 52.0967 10.6797L52.0957 10.6807C52.7838 11.0072 53.3219 11.5367 53.7158 12.2256H53.7168L77.5342 53.7754L77.543 53.791L77.5508 53.8066C77.9324 54.5461 78.1328 55.3179 78.1328 56.1143C78.1328 57.2505 77.7445 58.2575 76.9844 59.0996L76.9854 59.1006C76.1959 60.0216 75.1177 60.459 73.8496 60.459H26.3076C25.0395 60.459 23.9613 60.0216 23.1719 59.1006V59.0996C22.4298 58.2544 22.0547 57.247 22.0547 56.1143C22.0547 55.7708 22.0913 55.405 22.1592 55.0205L22.1631 54.998L22.168 54.9766C22.2647 54.5656 22.4093 54.1678 22.6006 53.7852L22.6113 53.7646L22.623 53.7441L46.4404 12.2256C46.8364 11.5331 47.3782 11.002 48.0713 10.6758V10.6738C48.7121 10.3534 49.3893 10.1895 50.0938 10.1895Z" stroke="#CF202D" stroke-width="1.62162"/> +<path d="M50.0938 10.1895C50.7984 10.1895 51.4697 10.3537 52.0967 10.6797L52.0957 10.6807C52.7838 11.0072 53.3219 11.5367 53.7158 12.2256H53.7168L77.5342 53.7754L77.543 53.791L77.5508 53.8066C77.9324 54.5461 78.1328 55.3179 78.1328 56.1143C78.1328 57.2505 77.7445 58.2575 76.9844 59.0996L76.9854 59.1006C76.1959 60.0216 75.1177 60.459 73.8496 60.459H26.3076C25.0395 60.459 23.9613 60.0216 23.1719 59.1006V59.0996C22.4298 58.2544 22.0547 57.247 22.0547 56.1143C22.0547 55.7708 22.0913 55.405 22.1592 55.0205L22.1631 54.998L22.168 54.9766C22.2647 54.5656 22.4093 54.1678 22.6006 53.7852L22.6113 53.7646L22.623 53.7441L46.4404 12.2256C46.8364 11.5331 47.3782 11.002 48.0713 10.6758V10.6738C48.7121 10.3534 49.3893 10.1895 50.0938 10.1895Z" stroke="#F6F8F9" stroke-opacity="0.45" stroke-width="1.62162"/> +<g filter="url(#filter3_d_12121_1714)"> +<path d="M48.0054 41.7676C48.027 43.1811 48.6973 43.8879 50.0162 43.8879C51.2919 43.8879 51.9405 43.1811 51.9622 41.7676L52.3514 24.316C52.373 23.6636 52.1568 23.1199 51.7027 22.685C51.2486 22.2283 50.6757 22 49.9838 22C49.2703 22 48.6973 22.2175 48.2649 22.6524C47.8324 23.0873 47.627 23.6419 47.6486 24.316L48.0054 41.7676Z" fill="#CF202D"/> +<path d="M48.0054 41.7676C48.027 43.1811 48.6973 43.8879 50.0162 43.8879C51.2919 43.8879 51.9405 43.1811 51.9622 41.7676L52.3514 24.316C52.373 23.6636 52.1568 23.1199 51.7027 22.685C51.2486 22.2283 50.6757 22 49.9838 22C49.2703 22 48.6973 22.2175 48.2649 22.6524C47.8324 23.0873 47.627 23.6419 47.6486 24.316L48.0054 41.7676Z" fill="#F6F8F9" fill-opacity="0.9"/> +<path d="M47.8757 53.1193C48.4595 53.7064 49.173 54 50.0162 54C50.8162 54 51.5081 53.7173 52.0919 53.1519C52.6973 52.5647 53 51.8688 53 51.0642C53 50.2379 52.7081 49.542 52.1243 48.9766C51.5405 48.4111 50.8378 48.1284 50.0162 48.1284C49.173 48.1284 48.4595 48.4111 47.8757 48.9766C47.2919 49.542 47 50.2379 47 51.0642C47 51.8471 47.2919 52.5321 47.8757 53.1193Z" fill="#CF202D"/> +<path d="M47.8757 53.1193C48.4595 53.7064 49.173 54 50.0162 54C50.8162 54 51.5081 53.7173 52.0919 53.1519C52.6973 52.5647 53 51.8688 53 51.0642C53 50.2379 52.7081 49.542 52.1243 48.9766C51.5405 48.4111 50.8378 48.1284 50.0162 48.1284C49.173 48.1284 48.4595 48.4111 47.8757 48.9766C47.2919 49.542 47 50.2379 47 51.0642C47 51.8471 47.2919 52.5321 47.8757 53.1193Z" fill="#F6F8F9" fill-opacity="0.9"/> +<path d="M48.0054 41.7676C48.027 43.1811 48.6973 43.8879 50.0162 43.8879C51.2919 43.8879 51.9405 43.1811 51.9622 41.7676L52.3514 24.316C52.373 23.6636 52.1568 23.1199 51.7027 22.685C51.2486 22.2283 50.6757 22 49.9838 22C49.2703 22 48.6973 22.2175 48.2649 22.6524C47.8324 23.0873 47.627 23.6419 47.6486 24.316L48.0054 41.7676Z" stroke="#CF202D" stroke-width="0.24"/> +<path d="M48.0054 41.7676C48.027 43.1811 48.6973 43.8879 50.0162 43.8879C51.2919 43.8879 51.9405 43.1811 51.9622 41.7676L52.3514 24.316C52.373 23.6636 52.1568 23.1199 51.7027 22.685C51.2486 22.2283 50.6757 22 49.9838 22C49.2703 22 48.6973 22.2175 48.2649 22.6524C47.8324 23.0873 47.627 23.6419 47.6486 24.316L48.0054 41.7676Z" stroke="#F6F8F9" stroke-opacity="0.8" stroke-width="0.24"/> +<path d="M47.8757 53.1193C48.4595 53.7064 49.173 54 50.0162 54C50.8162 54 51.5081 53.7173 52.0919 53.1519C52.6973 52.5647 53 51.8688 53 51.0642C53 50.2379 52.7081 49.542 52.1243 48.9766C51.5405 48.4111 50.8378 48.1284 50.0162 48.1284C49.173 48.1284 48.4595 48.4111 47.8757 48.9766C47.2919 49.542 47 50.2379 47 51.0642C47 51.8471 47.2919 52.5321 47.8757 53.1193Z" stroke="#CF202D" stroke-width="0.24"/> +<path d="M47.8757 53.1193C48.4595 53.7064 49.173 54 50.0162 54C50.8162 54 51.5081 53.7173 52.0919 53.1519C52.6973 52.5647 53 51.8688 53 51.0642C53 50.2379 52.7081 49.542 52.1243 48.9766C51.5405 48.4111 50.8378 48.1284 50.0162 48.1284C49.173 48.1284 48.4595 48.4111 47.8757 48.9766C47.2919 49.542 47 50.2379 47 51.0642C47 51.8471 47.2919 52.5321 47.8757 53.1193Z" stroke="#F6F8F9" stroke-opacity="0.8" stroke-width="0.24"/> +</g> +</g> +<defs> +<filter id="filter0_d_12121_1714" x="41.55" y="2.7" width="63.5182" height="62.9601" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="1.15"/> +<feGaussianBlur stdDeviation="1.725"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 0.0941176 0 0 0 0 0.105882 0 0 0 0 0.141176 0 0 0 0.05 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1714"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1714" result="shape"/> +</filter> +<filter id="filter1_d_12121_1714" x="-3.45" y="2.7" width="63.5177" height="62.9601" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="1.15"/> +<feGaussianBlur stdDeviation="1.725"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 0.0941176 0 0 0 0 0.105882 0 0 0 0 0.141176 0 0 0 0.05 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1714"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1714" result="shape"/> +</filter> +<filter id="filter2_d_12121_1714" x="14.9394" y="6.22631" width="70.3086" height="64.5003" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset dy="3.15211"/> +<feGaussianBlur stdDeviation="3.15211"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 0.0941176 0 0 0 0 0.105882 0 0 0 0 0.141176 0 0 0 0.05 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1714"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1714" result="shape"/> +</filter> +<filter id="filter3_d_12121_1714" x="38.3618" y="13.3618" width="23.2765" height="49.2765" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/> +<feOffset/> +<feGaussianBlur stdDeviation="4.25907"/> +<feComposite in2="hardAlpha" operator="out"/> +<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.3 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12121_1714"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12121_1714" result="shape"/> +</filter> +<linearGradient id="paint0_linear_12121_1714" x1="74.0673" y1="30.2568" x2="70.2691" y2="44.7155" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint1_linear_12121_1714" x1="80.5066" y1="6.69851" x2="76.117" y2="23.4316" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint2_linear_12121_1714" x1="13.8" y1="18.4" x2="13.7997" y2="36.8318" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint3_linear_12121_1714" x1="20.4676" y1="3.58246" x2="26.443" y2="26.2871" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint4_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint5_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint6_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint7_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint8_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint9_linear_12121_1714" x1="29.003" y1="35.5691" x2="32.1909" y2="47.7045" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<linearGradient id="paint10_linear_12121_1714" x1="13.8" y1="18.4" x2="13.7997" y2="36.8318" gradientUnits="userSpaceOnUse"> +<stop stop-color="white" stop-opacity="0"/> +<stop offset="1" stop-color="white"/> +</linearGradient> +<clipPath id="clip0_12121_1714"> +<rect width="27.6" height="36.8" rx="4.08889" transform="matrix(0.967185 0.254075 -0.263639 0.964621 64.813 11.7747)" fill="white"/> +</clipPath> +<clipPath id="clip1_12121_1714"> +<rect width="27.6" height="36.8" rx="4.08889" transform="matrix(0.967185 -0.254075 0.263639 0.964621 10.1108 18.7874)" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/src/frontend/apps/impress/src/features/auth/assets/mail-check-filled.svg b/src/frontend/apps/impress/src/features/auth/assets/mail-check-filled.svg deleted file mode 100644 index 113813e421..0000000000 --- a/src/frontend/apps/impress/src/features/auth/assets/mail-check-filled.svg +++ /dev/null @@ -1,14 +0,0 @@ -<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g clip-path="url(#clip0_12770_18024)"> -<path fill-rule="evenodd" clip-rule="evenodd" d="M26.5924 17.5492C27.3201 17.5492 28.0035 17.686 28.6419 17.9606C29.2802 18.2352 29.8434 18.6165 30.3307 19.1038C30.8179 19.5911 31.1994 20.1579 31.474 20.8031C31.7551 21.4411 31.8958 22.1241 31.8958 22.8512C31.8958 23.5717 31.7552 24.2521 31.474 24.8903C31.1994 25.5354 30.8144 26.1022 30.3203 26.5895C29.833 27.0768 29.2663 27.4582 28.6211 27.7327C27.9828 28.0141 27.3063 28.1546 26.5924 28.1546C25.8649 28.1546 25.1813 28.0177 24.543 27.7432C23.9049 27.4687 23.3427 27.0835 22.8555 26.5895C22.3682 26.1022 21.9833 25.539 21.7018 24.9007C21.4273 24.2624 21.2904 23.5787 21.2904 22.8512C21.2904 22.124 21.4274 21.4412 21.7018 20.8031C21.9832 20.1647 22.3682 19.6016 22.8555 19.1143C23.3427 18.6202 23.9049 18.2351 24.543 17.9606C25.1813 17.6861 25.8649 17.5492 26.5924 17.5492ZM28.9609 20.1846C28.7003 20.1846 28.4947 20.2947 28.3438 20.514L25.9128 23.8708L24.7188 22.5635C24.6502 22.4949 24.5709 22.4406 24.4818 22.3994C24.3926 22.3582 24.2863 22.3369 24.1628 22.3369C23.9637 22.3369 23.7913 22.4054 23.6471 22.5426C23.5032 22.673 23.431 22.8492 23.431 23.0687C23.4311 23.1576 23.4489 23.2467 23.4831 23.3356C23.5242 23.4316 23.5763 23.5215 23.638 23.6038L25.3672 25.4775C25.4358 25.5598 25.5257 25.6213 25.6354 25.6624C25.7451 25.7036 25.8515 25.7249 25.9544 25.7249C26.2219 25.7249 26.4239 25.6314 26.5612 25.4463L29.5378 21.3486C29.5926 21.2732 29.6304 21.1975 29.651 21.1221C29.6784 21.0468 29.6913 20.978 29.6914 20.9163C29.6914 20.7105 29.6158 20.538 29.4648 20.4007C29.3208 20.2569 29.1529 20.1846 28.9609 20.1846Z" fill="#367664"/> -<path d="M20.293 19.5153C20.0526 19.9618 19.8626 20.4428 19.7253 20.958C19.5948 21.4663 19.5299 21.9958 19.5299 22.5452C19.53 22.9022 19.5606 23.2528 19.6224 23.596C19.6842 23.9393 19.7704 24.2756 19.8802 24.6051H4.1888C3.81102 24.6051 3.47375 24.5639 3.17839 24.4814C2.88337 24.4059 2.63299 24.2996 2.42708 24.1624L10.2878 16.29L11.6992 17.5479C12.0221 17.8295 12.3451 18.0394 12.668 18.1768C12.9906 18.314 13.3271 18.3824 13.6771 18.3825C14.0273 18.3825 14.3647 18.3141 14.6875 18.1768C15.0172 18.0394 15.3438 17.8295 15.6667 17.5479L17.0781 16.29L20.293 19.5153Z" fill="#367664"/> -<path d="M8.97917 15.1468L1.32422 22.7822C1.24179 22.583 1.17699 22.3589 1.12891 22.1117C1.08772 21.8644 1.06641 21.5789 1.06641 21.2562V9.86165C1.06641 9.51134 1.08994 9.20825 1.13802 8.9541C1.19294 8.69333 1.25202 8.49729 1.3138 8.36686L8.97917 15.1468Z" fill="#367664"/> -<path d="M26.0521 8.36686C26.107 8.49725 26.1612 8.69345 26.2161 8.9541C26.2711 9.20825 26.2995 9.51134 26.2995 9.86165V15.7757C25.3104 15.7757 24.3789 15.9821 23.5065 16.3942C22.6413 16.7994 21.8993 17.3455 21.2812 18.0322L18.3867 15.1468L26.0521 8.36686Z" fill="#367664"/> -<path d="M22.9089 6.5127C23.7331 6.5127 24.4135 6.68136 24.9492 7.0179L14.625 16.1468C14.3161 16.4281 13.9997 16.5687 13.6771 16.5687C13.3613 16.5685 13.0449 16.4283 12.7292 16.1468L2.40625 7.0179C2.94872 6.68149 3.62829 6.51278 4.44531 6.5127H22.9089Z" fill="#367664"/> -</g> -<defs> -<clipPath id="clip0_12770_18024"> -<rect width="32" height="32" fill="white"/> -</clipPath> -</defs> -</svg> diff --git a/src/frontend/apps/impress/src/features/auth/components/UserReconciliation.tsx b/src/frontend/apps/impress/src/features/auth/components/UserReconciliation.tsx index 5147b00a70..795335c8c3 100644 --- a/src/frontend/apps/impress/src/features/auth/components/UserReconciliation.tsx +++ b/src/frontend/apps/impress/src/features/auth/components/UserReconciliation.tsx @@ -1,11 +1,12 @@ -import Image from 'next/image'; import { useTranslation } from 'react-i18next'; +import { css } from 'styled-components'; -import error_img from '@/assets/icons/error-coffee.png'; -import { Box, Loading, Text } from '@/components'; +import { Box, BoxButton, Icon, Loading, Text } from '@/components'; +import ArrowUpCircleSvg from '@/icons/arrow-up-circle.svg'; import { useUserReconciliationsQuery } from '../api'; -import SuccessSvg from '../assets/mail-check-filled.svg'; +import EmailConfirmationSvg from '../assets/email-confirmation.svg'; +import EmailValidationErrorSvg from '../assets/email-validation-error.svg'; interface UserReconciliationProps { reconciliationId: string; @@ -33,65 +34,81 @@ export const UserReconciliation = ({ ); } - let render = ( - <Box $gap="xs" $align="center"> - <SuccessSvg /> - <Text - as="h3" - $textAlign="center" - $maxWidth="350px" - $theme="neutral" - $margin="0" - $size="16px" - > - {t('Email Address Confirmed')} - </Text> - <Text - as="p" - $textAlign="center" - $maxWidth="330px" - $theme="neutral" - $variation="secondary" - $margin="0" - $size="sm" - > - {t( - 'To complete the unification of your user accounts, please click the confirmation links sent to all the email addresses you provided.', - )} - </Text> - </Box> - ); - - if (isError) { - render = ( - <Box $gap="xs" $align="center"> - <Image - src={error_img} - alt="" - width={300} - style={{ - maxWidth: '100%', - height: 'auto', - }} - /> + return ( + <Box + $align="center" + $gap="xs" + $padding={{ horizontal: 'base' }} + className="--docs--user-reconciliation" + > + {isError ? ( + <EmailValidationErrorSvg aria-hidden="true" /> + ) : ( + <EmailConfirmationSvg aria-hidden="true" /> + )} + <Box $align="center" $gap="3xs"> <Text - as="p" + as="h1" + $size="md" + $weight="bold" $textAlign="center" - $maxWidth="330px" - $theme="neutral" - $variation="secondary" $margin="0" - $size="sm" + $theme="neutral" + $variation="primary" > - {t('An error occurred during email validation.')} + {isError + ? t('An error occurred during email validation.') + : t('Email Address Confirmed')} </Text> + {!isError && ( + <> + <Text + as="p" + $textAlign="center" + $maxWidth="330px" + $theme="neutral" + $variation="secondary" + $margin="0" + $size="sm" + > + {t( + 'To complete the unification of your user accounts, please click the confirmation links sent to all the email addresses you provided.', + )} + </Text> + <BoxButton + $direction="row" + $align="center" + $gap="xxxs" + $margin={{ top: 'md' }} + $theme="neutral" + $variation="tertiary" + $css={css` + &:hover span { + text-decoration: underline; + } + `} + onClick={() => window.location.reload()} + > + <Icon + $theme="neutral" + $variation="tertiary" + icon={ + <ArrowUpCircleSvg width={16} height={16} aria-hidden="true" /> + } + /> + <Text + as="span" + $size="xs" + $weight="500" + $theme="neutral" + $variation="tertiary" + > + {t('Resend e-mail')} + </Text> + </BoxButton> + </> + )} </Box> - ); - } - - return ( - <Box $align="center" $margin="auto" $padding={{ bottom: '2rem' }}> - {render} </Box> ); }; diff --git a/src/frontend/apps/impress/src/layouts/StandalonePageLayout.tsx b/src/frontend/apps/impress/src/layouts/StandalonePageLayout.tsx new file mode 100644 index 0000000000..fb6bb20971 --- /dev/null +++ b/src/frontend/apps/impress/src/layouts/StandalonePageLayout.tsx @@ -0,0 +1,23 @@ +import { PropsWithChildren } from 'react'; + +import { Box } from '@/components'; +import { FooterBar } from '@/features/footer'; +import { HeaderBar } from '@/features/header'; + +import { MainContent } from './MainLayout'; + +/** + * Layout for pages reached outside of the application shell (email links, + * error pages): no left panel, a slim header and footer around the content. + */ +export function StandalonePageLayout({ children }: PropsWithChildren) { + return ( + <Box className="--docs--standalone-page-layout" $minHeight="100dvh"> + <HeaderBar /> + <MainContent $height="auto" $flex={1} $justify="center"> + {children} + </MainContent> + <FooterBar /> + </Box> + ); +} diff --git a/src/frontend/apps/impress/src/layouts/index.ts b/src/frontend/apps/impress/src/layouts/index.ts index eb143cc437..70162de960 100644 --- a/src/frontend/apps/impress/src/layouts/index.ts +++ b/src/frontend/apps/impress/src/layouts/index.ts @@ -1,2 +1,3 @@ export * from './MainLayout'; export * from './PageLayout'; +export * from './StandalonePageLayout'; diff --git a/src/frontend/apps/impress/src/pages/user-reconciliations/active/[id]/index.tsx b/src/frontend/apps/impress/src/pages/user-reconciliations/active/[id]/index.tsx index 7fa8c27a21..b8b2882998 100644 --- a/src/frontend/apps/impress/src/pages/user-reconciliations/active/[id]/index.tsx +++ b/src/frontend/apps/impress/src/pages/user-reconciliations/active/[id]/index.tsx @@ -4,7 +4,7 @@ import { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { UserReconciliation } from '@/features/auth/components/UserReconciliation'; -import { PageLayout } from '@/layouts'; +import { StandalonePageLayout } from '@/layouts'; import { NextPageWithLayout } from '@/types/next'; const Page: NextPageWithLayout = () => { @@ -34,7 +34,7 @@ const Page: NextPageWithLayout = () => { }; Page.getLayout = function getLayout(page: ReactElement) { - return <PageLayout withFooter={false}>{page}</PageLayout>; + return <StandalonePageLayout>{page}</StandalonePageLayout>; }; export default Page; diff --git a/src/frontend/apps/impress/src/pages/user-reconciliations/inactive/[id]/index.tsx b/src/frontend/apps/impress/src/pages/user-reconciliations/inactive/[id]/index.tsx index c10cbb38e7..918450fe35 100644 --- a/src/frontend/apps/impress/src/pages/user-reconciliations/inactive/[id]/index.tsx +++ b/src/frontend/apps/impress/src/pages/user-reconciliations/inactive/[id]/index.tsx @@ -4,7 +4,7 @@ import { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { UserReconciliation } from '@/features/auth/components/UserReconciliation'; -import { PageLayout } from '@/layouts'; +import { StandalonePageLayout } from '@/layouts'; import { NextPageWithLayout } from '@/types/next'; const Page: NextPageWithLayout = () => { @@ -34,7 +34,7 @@ const Page: NextPageWithLayout = () => { }; Page.getLayout = function getLayout(page: ReactElement) { - return <PageLayout withFooter={false}>{page}</PageLayout>; + return <StandalonePageLayout>{page}</StandalonePageLayout>; }; export default Page;