Skip to content
  • head's avatar
    8abb1d04
    fix(wizard): submit через useTransition — redirect() теперь срабатывает · 8abb1d04
    head authored
    В Wizard.tsx я вызывал server action через обычный await без transition.
    createLotAction на успехе делает redirect(), который бросает NEXT_REDIRECT.
    Без React transition / useActionState Next не перехватывает это как
    навигацию — exception уходит в promise rejection, submitting остаётся
    true, юзер видит «Создаю...» бесконечно.
    
    Fix: заменил useState(submitting) → useTransition. Оборачиваю
    await createLotAction(...) в startSubmit(async () => {...}). Теперь Next
    умеет обработать redirect в рамках transition → реальная навигация на
    /me?created=<id>. localStorage draft чистится на успехе (если до сюда
    дошли — значит ошибка).
    
    Ручное смоке:
    - Заполняешь все 4 шага → «Опубликовать» → редирект на /me → лот
      появляется в «Моих лотах» (на модерации).
    8abb1d04
    fix(wizard): submit через useTransition — redirect() теперь срабатывает
    head authored
    В Wizard.tsx я вызывал server action через обычный await без transition.
    createLotAction на успехе делает redirect(), который бросает NEXT_REDIRECT.
    Без React transition / useActionState Next не перехватывает это как
    навигацию — exception уходит в promise rejection, submitting остаётся
    true, юзер видит «Создаю...» бесконечно.
    
    Fix: заменил useState(submitting) → useTransition. Оборачиваю
    await createLotAction(...) в startSubmit(async () => {...}). Теперь Next
    умеет обработать redirect в рамках transition → реальная навигация на
    /me?created=<id>. localStorage draft чистится на успехе (если до сюда
    дошли — значит ошибка).
    
    Ручное смоке:
    - Заполняешь все 4 шага → «Опубликовать» → редирект на /me → лот
      появляется в «Моих лотах» (на модерации).
Loading