import type { ConfirmEmailSearchParams } from './types' import { clsx } from 'clsx' import { createMemo, createSignal, onMount, Show } from 'solid-js' import { useLocalize } from '../../../context/localize' import { useSession } from '../../../context/session' import { useRouter } from '../../../stores/router' import { hideModal } from '../../../stores/ui' import { ApiError } from '../../../utils/apiClient' import styles from './AuthModal.module.scss' export const EmailConfirm = () => { const { t } = useLocalize() const { session, actions: { confirmEmail }, } = useSession() const [isTokenExpired, setIsTokenExpired] = createSignal(false) const [isTokenInvalid, setIsTokenInvalid] = createSignal(false) const confirmedEmail = createMemo(() => session()?.user?.email || '') const { searchParams } = useRouter() onMount(async () => { const token = searchParams().token try { await confirmEmail(token) } catch (error) { if (error instanceof ApiError) { if (error.code === 'token_expired') { setIsTokenExpired(true) return } if (error.code === 'token_invalid') { setIsTokenInvalid(true) return } } console.log(error) } }) return (
{/* TODO: texts */}
Ссылка больше не действительна
Неправильная ссылка
{t('Hooray! Welcome!')}
{t("You've confirmed email")} {confirmedEmail()}
) }