diff --git a/frontend/src/pages/auth/sign-in.astro b/frontend/src/pages/auth/sign-in.astro index 3c896ee..921a73f 100644 --- a/frontend/src/pages/auth/sign-in.astro +++ b/frontend/src/pages/auth/sign-in.astro @@ -17,6 +17,17 @@ import { SITE_URL } from '@constants';
+
+ +
+
+
- +
+ + +
+
@@ -82,14 +108,14 @@ import { SITE_URL } from '@constants'; .auth-card { background: #ffffff; border-radius: 16px; - padding: 2rem 1.75rem; + padding: 1.5rem 1.5rem; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } /* Заголовок */ .auth-header { text-align: center; - margin-bottom: 1.5rem; + margin-bottom: 1rem; } .auth-header h1 { @@ -110,26 +136,26 @@ import { SITE_URL } from '@constants'; .auth-form { display: flex; flex-direction: column; - gap: 1rem; + gap: 0.5rem; } .form-group { display: flex; flex-direction: column; - gap: 0.4rem; + gap: 0.2rem; } .form-group label { color: #1e3050; - font-size: 0.85rem; + font-size: 0.8rem; font-weight: 600; } .form-group input { - padding: 0.7rem 0.9rem; + padding: 0.6rem 0.75rem; border: 1px solid #e2e8f0; border-radius: 8px; - font-size: 0.95rem; + font-size: 0.9rem; transition: all 0.2s ease; background: #f8fafc; } @@ -141,10 +167,75 @@ import { SITE_URL } from '@constants'; background: #ffffff; } + .password-wrapper { + position: relative; + display: flex; + align-items: center; + } + + .password-wrapper input { + width: 100%; + padding-right: 2.5rem; + } + + .toggle-password { + position: absolute; + right: 0.75rem; + background: none; + border: none; + cursor: pointer; + color: #94a3b8; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + transition: color 0.2s ease; + } + + .toggle-password:hover { + color: #d4af37; + } + + .toggle-password .eye-closed { + display: none; + } + + .toggle-password.active .eye-open { + display: none; + } + + .toggle-password.active .eye-closed { + display: block; + } + .form-group input::placeholder { color: #94a3b8; } + /* Honeypot поле */ + .honeypot-field { + position: absolute; + left: -9999px; + opacity: 0; + pointer-events: none; + } + + /* Сообщения об ошибках */ + .error-message { + color: #ef4444; + font-size: 0.75rem; + min-height: 1rem; + margin-top: 0.25rem; + } + + .form-group input.error { + border-color: #ef4444; + } + + .form-group input.error:focus { + box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); + } + /* Опции формы */ .form-options { display: flex; @@ -185,12 +276,12 @@ import { SITE_URL } from '@constants'; color: #ffffff; border: none; border-radius: 8px; - padding: 1rem; - font-size: 1rem; + padding: 0.75rem; + font-size: 0.95rem; font-weight: 700; cursor: pointer; transition: all 0.3s ease; - margin-top: 0.5rem; + margin-top: 0.25rem; } .btn-submit:hover { @@ -246,18 +337,89 @@ import { SITE_URL } from '@constants'; diff --git a/frontend/src/pages/auth/sign-up.astro b/frontend/src/pages/auth/sign-up.astro index bc1086c..3fc0c7f 100644 --- a/frontend/src/pages/auth/sign-up.astro +++ b/frontend/src/pages/auth/sign-up.astro @@ -17,18 +17,45 @@ import { SITE_URL } from '@constants';
-
- +
+
+ + + +
+ +
+ + + +
+
+
@@ -50,39 +79,72 @@ import { SITE_URL } from '@constants'; placeholder="+7 (999) 000-00-00" required autocomplete="tel" + inputmode="tel" /> +
- - + +
+ + +
+
- +
+ + +
+
@@ -97,6 +159,61 @@ import { SITE_URL } from '@constants';
+ + + diff --git a/frontend/src/pages/blog/index.astro b/frontend/src/pages/blog/index.astro index d8f6f98..6f25e3f 100644 --- a/frontend/src/pages/blog/index.astro +++ b/frontend/src/pages/blog/index.astro @@ -5,11 +5,10 @@ import PageHero from '@components/base/PageHero.astro'; import BlogCategories from '@components/blog/BlogCategories.astro'; import BlogCard from '@components/blog/BlogCard.astro'; import Pagination from '@components/base/Pagination.astro'; -import CTA from '@components/base/CTA.astro'; import SearchModal from '@components/base/SearchModal.astro'; import { getPosts, getAllCategories, getPostImageUrl } from '@lib/pb'; -const POSTS_PER_PAGE = 6; +const POSTS_PER_PAGE = 12; const currentPage = 1; const { posts, total, totalPages } = await getPosts({ page: currentPage, perPage: POSTS_PER_PAGE }); @@ -80,14 +79,6 @@ const formatDate = (date: string) => { - - - diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 1851f40..fa687f7 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -3,6 +3,7 @@ "include": [".astro/types.d.ts", "**/*"], "exclude": ["dist"], "compilerOptions": { + "ignoreDeprecations": "6.0", "baseUrl": ".", "paths": { "@styles/*": ["src/styles/*"],