From ecb720f751700dc800dba8af01a4b827e9b433c6 Mon Sep 17 00:00:00 2001 From: Web-serfer Date: Sun, 19 Apr 2026 23:38:15 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B5=D0=BA=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/base/AuthLockBlock.astro | 111 +++++++++++++++--- .../components/base/ConsultationModal.astro | 7 +- .../reviews/ReviewFormContainer.tsx | 6 +- .../src/components/reviews/ReviewsList.tsx | 4 - frontend/src/pages/contacts.astro | 2 + 5 files changed, 100 insertions(+), 30 deletions(-) diff --git a/frontend/src/components/base/AuthLockBlock.astro b/frontend/src/components/base/AuthLockBlock.astro index b9198cd..d97cefc 100644 --- a/frontend/src/components/base/AuthLockBlock.astro +++ b/frontend/src/components/base/AuthLockBlock.astro @@ -5,6 +5,8 @@ interface Props { buttonText: string; buttonHref: string; className?: string; + dataAnimation?: string; + dataDelay?: string | number; } const { @@ -12,11 +14,19 @@ const { description = 'Для продолжения, пожалуйста, войдите в личный кабинет.', buttonText = 'Войти в кабинет', buttonHref = '/auth/sign-in', - className = '' + className = '', + dataAnimation = 'fade-up', + dataDelay = 0 } = Astro.props; + +const delay = typeof dataDelay === 'number' ? dataDelay : parseInt(String(dataDelay)) || 0; --- -
+
@@ -24,50 +34,119 @@ const {

{title}

-

{description}

- {buttonText} +

{description}

+ + + + + {buttonText} + +

+ Нет аккаунта? Зарегистрироваться +

diff --git a/frontend/src/components/base/ConsultationModal.astro b/frontend/src/components/base/ConsultationModal.astro index d1a9fb9..ddfb824 100644 --- a/frontend/src/components/base/ConsultationModal.astro +++ b/frontend/src/components/base/ConsultationModal.astro @@ -185,19 +185,16 @@ const title = 'Бесплатная консультация'; inset: 0; background: rgba(10, 25, 41, 0.85); backdrop-filter: blur(8px); - display: flex; + display: none; align-items: center; justify-content: center; z-index: 9999; - opacity: 0; - visibility: hidden; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); padding: 2rem 1rem; } .modal-overlay.active { - opacity: 1; - visibility: visible; + display: flex; } .modal-container { diff --git a/frontend/src/components/reviews/ReviewFormContainer.tsx b/frontend/src/components/reviews/ReviewFormContainer.tsx index aa7a74e..92858b2 100644 --- a/frontend/src/components/reviews/ReviewFormContainer.tsx +++ b/frontend/src/components/reviews/ReviewFormContainer.tsx @@ -99,15 +99,11 @@ export default function ReviewFormContainer() { -
-
-

Загрузка...

-
+
diff --git a/frontend/src/components/reviews/ReviewsList.tsx b/frontend/src/components/reviews/ReviewsList.tsx index b1aad77..e29b4d9 100644 --- a/frontend/src/components/reviews/ReviewsList.tsx +++ b/frontend/src/components/reviews/ReviewsList.tsx @@ -94,10 +94,6 @@ export default function ReviewsList(props: ReviewsListProps) { return ( <> -
-
-

Загрузка отзывов...

-
diff --git a/frontend/src/pages/contacts.astro b/frontend/src/pages/contacts.astro index 218ca6e..c274f24 100644 --- a/frontend/src/pages/contacts.astro +++ b/frontend/src/pages/contacts.astro @@ -166,6 +166,8 @@ const isAuthorized = false; // Измените на true, чтобы увиде buttonText="Войти в кабинет" buttonHref="/auth/sign-in" className="animate-on-scroll" + dataAnimation="fade-up" + dataDelay="200" /> )}