diff --git a/app/AuthPage.jsx b/app/AuthPage.jsx index cdfb5b3..6a94e19 100644 --- a/app/AuthPage.jsx +++ b/app/AuthPage.jsx @@ -31,21 +31,25 @@ const AuthPage = () => { if (!isFormValid) return; try { - login(email, password); // редирект сделает сам контекст + setAuthError(""); + login(email, password); } catch (err) { - setAuthError(err.message); + setAuthError(err.message || "Неверный логин или пароль"); } }; return (
- {checkboxError && ( + {/* Красный баннер ошибок */} + {(checkboxError || authError) && (
- Вы не согласны с условиями использования + {checkboxError + ? "Вы не согласны с условиями использования" + : authError || "Неверный логин или пароль"}
)} @@ -107,31 +111,6 @@ const AuthPage = () => {

- {/* Ошибка авторизации */} - {authError && ( -

- {authError} -

- )} - - {/* Ссылки */} -
- - -
- {/* Кнопка Войти */} +

+ Заявка от {request.date || "28.11.25"} +

+ +
+ + {/* белая карточка во всю ширину контейнера */} +
+
+ {/* верхняя полоса: Описание + Дата + Время */} +
+
+ + Описание + +
+
+ + Дата + + + {request.date || "28.11.2025"} + +
+
+ + Время + + + {request.time || "13:00"} + +
+
+
+
+ + {/* блок ФИО / адрес */} +
+ + ФИО + +

+ {request.fullName || "Клавдия Березова"} +

+

+ {request.address || "г. Пермь, ул. Ленина 50"} +

+
+ + {/* статус + сроки */} +
+
+ + {isApproved + ? "Принята" + : isRejected + ? "Отклонена" + : "Модерация"} + +
+
+ До {request.deadline || "28.11.2025"} + {request.deadlineTime || "13:00"} +
+
+ + {/* Заголовок задачи */} +

+ {request.title || "Приобрести продукты пенсионерке"} +

+ + {/* краткое описание / товары */} + {request.description && ( +
+

+ {request.description} +

+
+ )} + + {/* если заявка уже отклонена — показать причину */} + {isRejected && ( +
+

+ Причина отклонения +

+

+ {request.rejectReason && request.rejectReason.trim().length > 0 + ? request.rejectReason + : "Причина не указана"} +

+
+ )} +
+
+ + {/* нижняя панель с кнопками — только если заявка ещё на модерации */} + {isPending && ( +
+ + +
+ )} + + + {/* попап причины отказа во весь экран */} + {showRejectPopup && ( +
+
+ {/* заголовок */} +

+ Причина +

+ + {/* голубой блок с текстом */} +
+