/
lizardking
/
react_project
Обзор
Документация
Войти
/
lizardking
/
react_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
react19
src/features/subsrciption/model/advance.ts
38 строк
923 B
LizardKing
Task 4 - RHF
14 окт 2025, 02:23
14 окт 2025, 02:23
163e5e3
Код
Авторство
О чём код?
import { wizardEmailSchema } from './schema' import { type WizardState } from './state' export async function advance(previous: WizardState, formData: FormData): Promise<WizardState> { if (previous.phase === 'step1') { const email = String(formData.get('email') ?? '') const parsed = wizardEmailSchema.safeParse({ email }) if (!parsed.success) { const message = parsed.error.issues[0]?.message ?? 'Некорректный email' return { ...previous, email, error: message, message: null } } return { phase: 'step2', email, error: null, message: null } } if (previous.phase === 'step2') { await new Promise((r) => setTimeout(r, 800)) return { phase: 'success', email: previous.email, error: null, message: 'Подписка подтверждена!' } } return previous }