From a405172b76650da770103d0d185360621059ae48 Mon Sep 17 00:00:00 2001 From: Untone Date: Mon, 18 Dec 2023 10:52:52 +0300 Subject: [PATCH] notifier-connected --- src/components/Nav/AuthModal/EmailConfirm.tsx | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/components/Nav/AuthModal/EmailConfirm.tsx b/src/components/Nav/AuthModal/EmailConfirm.tsx index 0e062add..23b6633f 100644 --- a/src/components/Nav/AuthModal/EmailConfirm.tsx +++ b/src/components/Nav/AuthModal/EmailConfirm.tsx @@ -1,7 +1,7 @@ import type { ConfirmEmailSearchParams } from './types' import { clsx } from 'clsx' -import { createEffect, createSignal, onMount, Show } from 'solid-js' +import { createEffect, createMemo, createSignal, onMount, Show } from 'solid-js' import { useLocalize } from '../../../context/localize' import { useSession } from '../../../context/session' @@ -17,9 +17,7 @@ export const EmailConfirm = () => { actions: { confirmEmail, loadSession, loadAuthor }, session, } = useSession() - const [confirmedEmail, setConfirmedEmail] = createSignal( - Boolean(session()?.user?.email_verified), - ) + const [confirmedEmail, setConfirmedEmail] = createSignal(false) const [isTokenExpired, setIsTokenExpired] = createSignal(false) const [isTokenInvalid, setIsTokenInvalid] = createSignal(false) @@ -28,12 +26,13 @@ export const EmailConfirm = () => { onMount(async () => { const token = searchParams().access_token if (token) { + changeSearchParam({}) try { await confirmEmail({ token }) await loadSession() - changeSearchParam({}) await loadAuthor() } catch (error) { + // TODO: adapt this code to authorizer if (error instanceof ApiError) { if (error.code === 'token_expired') { setIsTokenExpired(true) @@ -51,7 +50,15 @@ export const EmailConfirm = () => { } }) - createEffect(() => setConfirmedEmail(session()?.user?.email_verified)) + createEffect(() => { + const confirmed = session()?.user?.email_verified + if (confirmed) { + console.debug(`[EmailConfirm] email successfully verified`) + setConfirmedEmail(confirmed) + } + }) + + const email = createMemo(() => session()?.user?.email) return (
@@ -60,7 +67,7 @@ export const EmailConfirm = () => {
Ссылка больше не действительна
@@ -69,15 +76,15 @@ export const EmailConfirm = () => {
Неправильная ссылка
- +
{t('Hooray! Welcome!')}
- {t("You've confirmed email")} {confirmedEmail()} + {t("You've confirmed email")} {email()}