From ecca91b401068c3e9be543650e71b47baf9c160b Mon Sep 17 00:00:00 2001 From: khadiatullo Date: Mon, 28 Apr 2025 19:12:16 +0300 Subject: [PATCH] update: rendered all the text in json --- src/app/login/page.tsx | 96 +------------------ .../auth/login-form/ui/login-form.tsx | 7 +- src/pages-templates/login/index.tsx | 95 ++++++++++++++++++ src/shared/components/about-counter.tsx | 9 +- src/shared/language/locales/ru.json | 15 +-- src/widgets/clients/ui/benefits-section.tsx | 12 ++- .../clients/ui/services-overview-section.tsx | 11 ++- 7 files changed, 135 insertions(+), 110 deletions(-) create mode 100644 src/pages-templates/login/index.tsx diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 078c9a5..cdb2979 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -1,93 +1,5 @@ -import { Building2, Fuel, User } from 'lucide-react'; -import Link from 'next/link'; +import LoginPage from "@/pages-templates/login"; -import { LoginForm } from '@/features/auth/login-form'; - -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/shared/shadcn-ui/card'; -import { - Tabs, - TabsContent, - TabsList, - TabsTrigger, -} from '@/shared/shadcn-ui/tabs'; - -export default function LoginPage() { - return ( -
-
-
-
-
- -
-

- Вход в личный кабинет -

-

- Войдите в личный кабинет, чтобы получить доступ к информации о - ваших бонусах, истории операций и другим возможностям. -

-
- -
- - - - Бонусный клиент - - - Корпоративный клиент - - - - - - - Вход для бонусных клиентов - - Введите номер телефона и номер бонусной карты для входа в - личный кабинет. - - - - - - - - - - - - Вход для корпоративных клиентов - - Введите номер телефона и номер корпоративной карты для - входа в личный кабинет. - - - - - - - - - -
-

- Возникли проблемы со входом?{' '} - - Свяжитесь с нами - -

-
-
-
-
-
- ); -} +export default function Login() { + return +} \ No newline at end of file diff --git a/src/features/auth/login-form/ui/login-form.tsx b/src/features/auth/login-form/ui/login-form.tsx index 5a53ab3..af41279 100644 --- a/src/features/auth/login-form/ui/login-form.tsx +++ b/src/features/auth/login-form/ui/login-form.tsx @@ -17,12 +17,15 @@ import { import { Input } from '@/shared/shadcn-ui/input'; import { LoginFormData, loginFormSchema } from '../model/login-form.schema'; +import { useLanguage } from '@/shared/language'; interface LoginFormProps { // onSubmit: (data: any) => Promise; } export const LoginForm = ({}: LoginFormProps) => { + const {t} = useLanguage() + const router = useRouter(); // const [login, results] = useLoginMutation(); @@ -62,7 +65,7 @@ export const LoginForm = ({}: LoginFormProps) => { name='phoneNumber' render={({ field }) => ( - Номер телефона + {t("auth.phoneNumber")} { name='cardNumber' render={({ field }) => ( - Номер карты + {t("auth.cardNumber")} +
+
+
+
+ +
+

+ {t('auth.title')} +

+

+ {t('auth.description')} +

+
+ +
+ + + + {t('auth.bonusClient')} + + + {t('auth.corporateClient')} + + + + + + + {t('auth.bonusLogin.title')} + + {t('auth.bonusLogin.description')} + + + + + + + + + + + + {t('auth.corporateLogin.title')} + + {t('auth.corporateLogin.description')} + + + + + + + + + +
+

+ {t('auth.loginIssues')}{' '} + + {t('auth.contactLink')} + +

+
+
+
+
+ + ); +} \ No newline at end of file diff --git a/src/shared/components/about-counter.tsx b/src/shared/components/about-counter.tsx index 6f301c0..f1c78f6 100644 --- a/src/shared/components/about-counter.tsx +++ b/src/shared/components/about-counter.tsx @@ -4,11 +4,14 @@ import { Users } from 'lucide-react'; import { useEffect, useRef, useState } from 'react'; import AnimatedCounter from './animated-counter'; +import { useLanguage } from '../language'; export default function AboutCounter() { const [isVisible, setIsVisible] = useState(false); const sectionRef = useRef(null); + const {t} = useLanguage() + useEffect(() => { const observer = new IntersectionObserver( (entries) => { @@ -41,7 +44,7 @@ export default function AboutCounter() {

{isVisible ? : '0+'}

-

Сотрудников

+

{t("about.stats.items.2.label")}

@@ -50,7 +53,7 @@ export default function AboutCounter() {

{isVisible ? : '0M+'}

-

Литров топлива в месяц

+

{t("about.stats.items.4.label")}

@@ -63,7 +66,7 @@ export default function AboutCounter() { '0%' )} -

Довольных клиентов

+

{t("about.stats.items.5.label")}

); diff --git a/src/shared/language/locales/ru.json b/src/shared/language/locales/ru.json index c718732..21f87f9 100644 --- a/src/shared/language/locales/ru.json +++ b/src/shared/language/locales/ru.json @@ -87,6 +87,8 @@ "about.stats.items.3.value": "1000000", "about.stats.items.3.suffix": "+", "about.stats.items.3.label": "Клиентов в год", + "about.stats.items.4.label": "Литров топлива в месяц", + "about.stats.items.5.label": "Довольных клиентов", "about.history.title": "Наша история", "about.history.subtitle": "История развития нашей компании от небольшой сети до лидера рынка", @@ -162,12 +164,12 @@ "home.cta.description": "Станьте частью нашей сети. Получайте специальные предложения, бонусы и скидки.", "clients.title": "Для наших клиентов", - "clients.description": "Специальные предложения, программы лояльности и удобные способы оплаты для наших клиентов", - "clients.services": "Наши услуги для клиентов", - "clients.services.description": "Мы стремимся сделать обслуживание на наших заправках максимально удобным и выгодным для вас", - "clients.loyalty.title": "Программа лояльности", - "clients.loyalty.description": "Накапливайте баллы и получайте скидки на топливо и услуги нашей сети", - + "clients.description": "Информация для клиентов: программа лояльности, топливные карты, сертификаты и способы оплаты.", + "clients.services.title": "Наши услуги для клиентов", + "clients.services.subtitle": "Мы стремимся сделать обслуживание на наших заправках максимально удобным и выгодным для вас", + "clients.benefits.title": "Преимущества для клиентов", + "clients.benefits.subtitle": "Став клиентом GasNetwork, вы получаете множество преимуществ, которые делают заправку вашего автомобиля более выгодной и удобной.", + "clients.loyalty.programm.about": "О программе лояльности", "clients.loyalty.programm.about-description": "Программа лояльности GasNetwork — это возможность получать баллы за каждую покупку топлива и услуг на наших заправочных станциях. Накопленные баллы можно обменять на скидки, подарки или дополнительные услуги.", "clients.loyalty.programm.about-description-2": "Участие в программе абсолютно бесплатное. Вам нужно только получить карту лояльности в любой нашей заправочной станции или зарегистрироваться в мобильном приложении.", @@ -232,6 +234,7 @@ "auth.phoneNumber": "Номер телефона", "auth.cardNumber": "Номер карты", "auth.loginIssues": "Возникли проблемы со входом?", + "auth.contactLink": "Свяжитесь с нами", "map.filters": "Фильтры", "map.stationsList": "Список заправок", diff --git a/src/widgets/clients/ui/benefits-section.tsx b/src/widgets/clients/ui/benefits-section.tsx index 17a5c39..0e36fc9 100644 --- a/src/widgets/clients/ui/benefits-section.tsx +++ b/src/widgets/clients/ui/benefits-section.tsx @@ -1,3 +1,6 @@ +"use client" + +import { useLanguage } from '@/shared/language'; import { Percent } from 'lucide-react'; import Image from 'next/image'; @@ -26,6 +29,9 @@ const benefits: Array = [ ]; export const BenefitsSection = () => { + + const {t} = useLanguage() + return (
@@ -35,12 +41,10 @@ export const BenefitsSection = () => {

- Преимущества для клиентов + {t('clients.benefits.title')}

- Став клиентом GasNetwork, вы получаете множество преимуществ, - которые делают заправку вашего автомобиля более выгодной и - удобной. + {t('clients.benefits.subtitle')}

diff --git a/src/widgets/clients/ui/services-overview-section.tsx b/src/widgets/clients/ui/services-overview-section.tsx index 77a9b82..3a6154a 100644 --- a/src/widgets/clients/ui/services-overview-section.tsx +++ b/src/widgets/clients/ui/services-overview-section.tsx @@ -1,3 +1,5 @@ +"use client" + import { CreditCard, type LucideProps, Percent, Wallet } from 'lucide-react'; import { type ForwardRefExoticComponent, type RefAttributes } from 'react'; @@ -8,6 +10,7 @@ import { CardHeader, CardTitle, } from '@/shared/shadcn-ui/card'; +import { useLanguage } from '@/shared/language'; interface ServiceOverview { title: string; @@ -43,16 +46,18 @@ const servicesOverview: Array = [ ]; export const ServicesOverviewSection = () => { + + const {t} = useLanguage() + return (

- Наши услуги для клиентов + {t('clients.services.title')}

- Мы стремимся сделать обслуживание на наших заправках максимально - удобным и выгодным для вас + {t('clients.services.subtitle')}

-- 2.47.1