Skip to content

feature/re-sending-otp#76

Merged
kapitulin24 merged 3 commits into
devfrom
feature/re-sending-otp
Jun 11, 2026
Merged

feature/re-sending-otp#76
kapitulin24 merged 3 commits into
devfrom
feature/re-sending-otp

Conversation

@AlexandrNel

@AlexandrNel AlexandrNel commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Что сделано

  • Подключён endpoint POST /v1/auth/resend для повторной отправки OTP-кода на шагах регистрации и восстановления пароля.
  • Убрана заглушка toast.warning('Функционал в разработке!'). Cooldown-таймер теперь синхронизируется с сервером, а localStorage используется только для восстановления wizard-состояния после refresh.
  • Добавлены Zod-схемы и типы ResendCodeBody, ResendCodeResponse
  • Добавлен метод AuthHttp.resendCode → POST /v1/auth/resend
  • Добавлен хук useResendCode на базе useMutation с meta: { skipGlobalValidationToast: true }
  • ResendCodeControl переработан в controlled-компонент: принимает data, nextResendAt, mutateOptions; убрано прямое использование LocalStorageDraft и отдельных LS-ключей
  • После успешного resend nextResendAt обновляется из ответа сервера и сохраняется в основной draft для восстановления после refresh
  • Удалены отдельные LS-ключи ${DRAFT_KEY}:last-sent-code:${email}

Как проверить

  • Регистрация: пройти до шага OTP → кнопка «Отправить код» заблокирована на 60 сек → после таймера нажать → прийти новый код, таймер перезапустился
  • Восстановление пароля: аналогично с context: reset-password
  • Refresh на шаге OTP → таймер восстанавливается из draft, не сбрасывается в 60 сек
  • Нажать «Отправить код» несколько раз подряд быстро → запрос уходит только один раз, кнопка disabled во время pending

- add ResendCodeBody/Response schemas and types in entities/auth
- add AuthHttp.resendCode POST /auth/resend
- add useResendCode mutation hook in features/otp-form
- lift cooldown state (nextResendAt) to parent page
- remove LocalStorageDraft from ResendCodeControl
@AlexandrNel AlexandrNel requested a review from kapitulin24 as a code owner June 10, 2026 19:42
@github-actions github-actions Bot added features User scenarios and sliced features domain Business entities and models views Pages, widgets and layouts config labels Jun 10, 2026
Comment thread src/features/otp-form/model/useResend.ts
Comment thread src/features/otp-form/model/useResend.ts
@soorq soorq self-requested a review June 11, 2026 09:33
@kapitulin24 kapitulin24 merged commit 8301b23 into dev Jun 11, 2026
5 checks passed
@kapitulin24 kapitulin24 deleted the feature/re-sending-otp branch June 11, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config domain Business entities and models features User scenarios and sliced features views Pages, widgets and layouts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants