From 7b76901f5fe9c7a9b33b53d98a9ea46cacd8220c Mon Sep 17 00:00:00 2001 From: "nabijonovdavronbek619@gmail.com" Date: Wed, 1 Apr 2026 18:26:25 +0500 Subject: [PATCH] login register comlated --- ROBOTS.txt | 10 ++ src/app/[locale]/layout.tsx | 17 +++ src/app/favicon.ico | Bin 25931 -> 0 bytes src/app/sitemap.ts | 29 ++++ src/features/auth/login/lib/useLoginForm.ts | 33 ++++- src/features/auth/login/ui/form.tsx | 24 ++- .../auth/register/lib/registerZustand.ts | 2 + .../auth/register/lib/useRegisterForm.ts | 19 ++- .../auth/register/lib/validateRegister.ts | 16 +- src/features/auth/register/ui/form.tsx | 86 ++++------- src/shared/config/i18n/messages/en.json | 8 +- src/shared/config/i18n/messages/ru.json | 8 +- src/shared/config/i18n/messages/uz.d.json.ts | 4 + src/shared/config/i18n/messages/uz.json | 8 +- src/shared/config/jsonId.tsx | 80 ++++++++++ src/shared/config/seo.config.ts | 76 ++++++++++ src/shared/lib/metadata.ts | 137 ++++++++++++++++++ src/shared/request/apiRequest.ts | 8 +- src/shared/request/links.ts | 1 + src/shared/ui/field.tsx | 65 +++++++++ src/shared/zustand/{userLogin.ts => user.ts} | 10 +- src/widgets/fileUpload/lib/usePlagiraism.ts | 4 + src/widgets/navbar/ui/authButtons.tsx | 33 +++-- 23 files changed, 576 insertions(+), 102 deletions(-) create mode 100644 ROBOTS.txt delete mode 100644 src/app/favicon.ico create mode 100644 src/app/sitemap.ts create mode 100644 src/shared/config/jsonId.tsx create mode 100644 src/shared/config/seo.config.ts create mode 100644 src/shared/lib/metadata.ts create mode 100644 src/shared/ui/field.tsx rename src/shared/zustand/{userLogin.ts => user.ts} (57%) diff --git a/ROBOTS.txt b/ROBOTS.txt new file mode 100644 index 0000000..3696dbe --- /dev/null +++ b/ROBOTS.txt @@ -0,0 +1,10 @@ +User-agent: * +Allow: / + +# Block admin and API routes from indexing +Disallow: /api/ +Disallow: /_next/ +Disallow: /admin/ + +# Sitemap location +Sitemap: https://antiplagiat.uz/sitemap.xml \ No newline at end of file diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx index 298e695..e3f8a64 100644 --- a/src/app/[locale]/layout.tsx +++ b/src/app/[locale]/layout.tsx @@ -12,18 +12,34 @@ import QueryProvider from '@/shared/config/react-query/QueryProvider'; import Script from 'next/script'; import Provider from '@/features/providers/provider'; import { ToastContainer } from 'react-toastify'; +import type { Metadata } from 'next'; +import { generateRootMetadata } from '@/shared/lib/metadata'; + +// ─── Types ───────────────────────────────────────────────────────────────────── type Props = { children: ReactNode; params: Promise<{ locale: Locale }>; }; +// ─── Static params ───────────────────────────────────────────────────────────── + export function generateStaticParams() { return routing.locales.map((locale) => ({ locale })); } +// ─── Metadata (OpenGraph + SEO) ──────────────────────────────────────────────── + +export async function generateMetadata({ params }: Props): Promise { + const { locale } = await params; + return generateRootMetadata(locale); +} + +// ─── Layout ──────────────────────────────────────────────────────────────────── + export default async function RootLayout({ children, params }: Props) { const { locale } = await params; + if (!hasLocale(routing.locales, locale)) { notFound(); } @@ -52,6 +68,7 @@ export default async function RootLayout({ children, params }: Props) { +