From a538fe1684e2399767aa6a417f2b4817210715a5 Mon Sep 17 00:00:00 2001 From: smanylov Date: Thu, 18 Dec 2025 13:36:56 +0700 Subject: [PATCH] fix translates and visual bugs --- package.json | 2 +- src/app/[locale]/forgot-password/page.tsx | 39 +++++++++++++++++ src/app/actions/auth.ts | 2 +- src/app/components/tanstakTable.tsx | 6 +-- src/app/styles/globals.css | 7 +++ src/app/ui/forms/forgot-password-form.tsx | 53 +++++++++++++++++++++++ src/i18n/messages/en.json | 7 +-- src/i18n/messages/ru.json | 11 ++--- 8 files changed, 114 insertions(+), 13 deletions(-) create mode 100644 src/app/[locale]/forgot-password/page.tsx create mode 100644 src/app/ui/forms/forgot-password-form.tsx diff --git a/package.json b/package.json index 9f7fce6..59c0251 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "no-copy-frontend", - "version": "0.4.0", + "version": "0.5.0", "private": true, "scripts": { "dev": "next dev -p 2999", diff --git a/src/app/[locale]/forgot-password/page.tsx b/src/app/[locale]/forgot-password/page.tsx new file mode 100644 index 0000000..ecf5201 --- /dev/null +++ b/src/app/[locale]/forgot-password/page.tsx @@ -0,0 +1,39 @@ +import { useTranslations } from 'next-intl' +import LogoIcon from '@/app/ui/logo-icon'; +import styles from '@/app/styles/login.module.scss'; +import Link from 'next/link'; +import RegisterForm from '@/app/ui/forms/register-form'; +import LanguageSwitcher from '@/app/components/LanguageSwitcher'; +import ForgotPasswordForm from '@/app/ui/forms/forgot-password-form'; + +export default function Page() { + const t = useTranslations('Login-register-form'); + + return ( +
+
+ +
+
+
+ +

NO COPY

+

+ {t('recover-password')} +

+
+ + + +
+

{t('already-have-an-account')}? {t('login')}

+
+
+

{t('no-account')}? + {t('register')} +

+
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/actions/auth.ts b/src/app/actions/auth.ts index 17ac69e..292a69e 100644 --- a/src/app/actions/auth.ts +++ b/src/app/actions/auth.ts @@ -230,7 +230,7 @@ export async function registration( const errors: Record = {}; switch (error) { case '1': - errors['server'] = 'email-already-registered' + errors['server'] = 'email-or-already-registered' break; default: diff --git a/src/app/components/tanstakTable.tsx b/src/app/components/tanstakTable.tsx index e302a7b..8c4e344 100644 --- a/src/app/components/tanstakTable.tsx +++ b/src/app/components/tanstakTable.tsx @@ -340,7 +340,7 @@ export default function TanstakFilesTable() { {/* Фильтры */}
-
+
{t('date-filter')}:
{ @@ -377,7 +377,7 @@ export default function TanstakFilesTable() {
-
+
{t('type-filter')}:
{ @@ -474,7 +474,7 @@ export default function TanstakFilesTable() {
{/* Пагинация */} -
+
{t('page')}{' '} diff --git a/src/app/styles/globals.css b/src/app/styles/globals.css index 431b28b..f81a0c0 100644 --- a/src/app/styles/globals.css +++ b/src/app/styles/globals.css @@ -22,4 +22,11 @@ h4 { font-weight: bold; } +svg:focus, +g:focus, +path:focus { + outline: none; + outline-style: none; +} + @import "tailwindcss"; \ No newline at end of file diff --git a/src/app/ui/forms/forgot-password-form.tsx b/src/app/ui/forms/forgot-password-form.tsx new file mode 100644 index 0000000..7bd4baf --- /dev/null +++ b/src/app/ui/forms/forgot-password-form.tsx @@ -0,0 +1,53 @@ +'use client' + +import styles from '@/app/styles/login.module.scss' +import { useActionState, useState } from 'react'; + +import { useTranslations } from 'next-intl'; + +export default function ForgotPasswordForm() { + const [state, formAction, isPending] = useActionState( + () => { + console.log("test"); + }, + undefined, + ); + const t = useTranslations('Login-register-form'); + + return ( +
+
+ + + {/* {state?.error?.email && ( +

+ {t(state?.error?.email)} +

+ )} */} +
+ {/* {state?.error.server && ( +

+ {t(state?.error.server)} +

+ )} */} +
+
+ + функционал не реализован + +
+
+ +
+ ) +} \ No newline at end of file diff --git a/src/i18n/messages/en.json b/src/i18n/messages/en.json index 7651538..e1d2a67 100644 --- a/src/i18n/messages/en.json +++ b/src/i18n/messages/en.json @@ -46,7 +46,7 @@ "today": "Today", "for-a-week": "For a week", "for-a-month": "For a month", - "older-than-a-month": "Older than a month", + "older-than-a-month": "Over a month old", "show": "Show", "no-data-for-selected-filters": "No data for selected filters", "page": "Page", @@ -159,9 +159,10 @@ "safe-storage": "Reliable storage and data security", "sign-in": "Sign in", "terms-of-use": "terms of use", - "email-already-registered": "Email already registered", + "email-or-already-registered": "Email or phone already registered", "password-does-not-match": "Password does not match", "email-not-found": "Email not found", - "register-error-no-digits": "The name should not contain a number." + "register-error-no-digits": "The name should not contain a number.", + "recover-password": "Recover password" } } \ No newline at end of file diff --git a/src/i18n/messages/ru.json b/src/i18n/messages/ru.json index 4119ccd..332a49f 100644 --- a/src/i18n/messages/ru.json +++ b/src/i18n/messages/ru.json @@ -8,8 +8,8 @@ "all-types": "Все типы", "statistics": "Статистика", "your-content": "Ваш контент", - "file": "Фаил", - "files": "Фаил", + "file": "Файл", + "files": "Файлов", "content-type": "Тип контента", "quantity": "Количество", "size": "Размер", @@ -159,9 +159,10 @@ "safe-storage": "Надежное хранение и безопасность данных", "sign-in": "Войти в систему", "terms-of-use": "условиями использования", - "email-already-registered": "Такой Email уже зарегистрирован", - "password-does-not-match": "Пароль не совпадает", + "email-or-already-registered": "Такой email и/или телефон уже зарегистрированы", + "password-does-not-match": "Неверный пароль", "email-not-found": "Email не найден", - "register-error-no-digits": "В имени не должно быть цифр." + "register-error-no-digits": "В имени не должно быть цифр.", + "recover-password": "Восстановить пароль" } } \ No newline at end of file