diff --git a/src/app/routes/ScrollToTop.tsx b/src/app/routes/ScrollToTop.tsx new file mode 100644 index 0000000..5ba15f0 --- /dev/null +++ b/src/app/routes/ScrollToTop.tsx @@ -0,0 +1,16 @@ +import { useEffect } from "react"; +import { useLocation } from "react-router-dom"; + +export const ScrollToTop = () => { + const { pathname } = useLocation(); + + useEffect(() => { + window.scrollTo({ + top: 0, + left: 0, + behavior: "instant" as ScrollBehavior + }); + }, [pathname]); + + return null; +}; diff --git a/src/features/auth/AuthPage/AuthPage.scss b/src/features/auth/AuthPage/AuthPage.scss index 7ba88b3..bb2670a 100644 --- a/src/features/auth/AuthPage/AuthPage.scss +++ b/src/features/auth/AuthPage/AuthPage.scss @@ -20,7 +20,11 @@ padding: map.get($spacing, "md"); background-color: var(--auth-modal-bg); - --auth-block-width: 450px; + --auth-block-width: 300px; + + @include on-tablet { + --auth-block-width: 450px; + } @include on-desktop { flex-direction: row; diff --git a/src/features/contacts/ContactsPage.tsx b/src/features/contacts/ContactsPage.tsx index e27f74f..66c17b4 100644 --- a/src/features/contacts/ContactsPage.tsx +++ b/src/features/contacts/ContactsPage.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import React, { useState } from 'react'; import './ContactsPage.scss'; import * as Form from '@radix-ui/react-form'; import { Button } from '../../shared/ui/Button'; @@ -53,14 +53,6 @@ export const ContactsPage: React.FC = () => { }); }; - useEffect(() => { - window.scrollTo({ - top: 0, - left: 0, - behavior: "auto", - }); - }, []); - return (
diff --git a/src/features/creators/data.ts b/src/features/creators/data.ts index 1b2e932..f077820 100644 --- a/src/features/creators/data.ts +++ b/src/features/creators/data.ts @@ -38,6 +38,12 @@ export const creators: CreatorInfo[] = [ }, { link: 'https://t.me/Pitsan_Viktoriia', + icon: SocialNetworkEnum.TELEGRAM, + }, + ], + }, + + { key: 'mkm', images: [mkm_1], socialNetworks: [ diff --git a/src/features/product-detail/ProductDetailPage.tsx b/src/features/product-detail/ProductDetailPage.tsx index 02caada..a23eaba 100644 --- a/src/features/product-detail/ProductDetailPage.tsx +++ b/src/features/product-detail/ProductDetailPage.tsx @@ -15,6 +15,7 @@ import { BlurReveal } from './components/BlurReveal'; import { useLanguage } from '../../shared/context/language'; import { Language } from '../../widgets/LanguageButton'; import { SlideIn } from '../../shared/animation/SlideIn'; +import { useTranslation } from 'react-i18next'; const ProductDetailPage: React.FC = () => { const { id } = useParams(); @@ -23,6 +24,7 @@ const ProductDetailPage: React.FC = () => { const [isLoading, setIsLoading] = useState(false); const [relatedProducts, setRelatedProducts] = useState([]); const { language: lng } = useLanguage(); + const { t } = useTranslation('productDetail'); useEffect(() => { if (!id) return; @@ -52,14 +54,6 @@ const ProductDetailPage: React.FC = () => { loadProduct(); }, [id]); - useEffect(() => { - window.scrollTo({ - top: 0, - left: 0, - behavior: "auto", - }); - }, []); - return (
@@ -120,7 +114,7 @@ const ProductDetailPage: React.FC = () => {
diff --git a/src/index.tsx b/src/index.tsx index d512cf0..08c8232 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -10,6 +10,7 @@ import { CartCountProvider, FavoriteCountProvider, } from './app/providers'; +import { ScrollToTop } from './app/routes/ScrollToTop.tsx'; createRoot(document.getElementById('root')!).render( @@ -18,7 +19,8 @@ createRoot(document.getElementById('root')!).render( - + + diff --git a/src/shared/i18n/languages/en/creators.json b/src/shared/i18n/languages/en/creators.json index 46c5c2d..0a80e64 100644 --- a/src/shared/i18n/languages/en/creators.json +++ b/src/shared/i18n/languages/en/creators.json @@ -8,6 +8,7 @@ "name": "Viktoriia Pitsan", "role": "Developer", "description": "I'm a web developer specializing in creating responsive, user-friendly web interfaces. I am passionate about enhancing user experience by building well-crafted, accessible, and intuitive web solutions." + }, "mkm": { "name": "Kramarchuk Marina", "role": "Tech Lead", diff --git a/src/shared/i18n/languages/en/productDetail.json b/src/shared/i18n/languages/en/productDetail.json index 021f458..0f7d63c 100644 --- a/src/shared/i18n/languages/en/productDetail.json +++ b/src/shared/i18n/languages/en/productDetail.json @@ -15,5 +15,6 @@ "camera": "Camera", "zoom": "Zoom", "cell": "Cell" - } + }, + "youMayAlsoLike": "You may also like" } diff --git a/src/shared/i18n/languages/ua/creators.json b/src/shared/i18n/languages/ua/creators.json index 1de3c1f..4b12ac9 100644 --- a/src/shared/i18n/languages/ua/creators.json +++ b/src/shared/i18n/languages/ua/creators.json @@ -8,6 +8,7 @@ "name": "Піцан Вікторія", "role": "Розробник", "description": "Я веб-розробник, що спеціалізується на створенні адаптивних, зручних для користувачів веб-інтерфейсів. Мені подобається покращувати досвід користувачів, створюючи добре розроблені, доступні та інтуїтивно зрозумілі веб-рішення." + }, "mkm": { "name": "Крамарчук Маріна", "role": "Тех лід", diff --git a/src/shared/i18n/languages/ua/productDetail.json b/src/shared/i18n/languages/ua/productDetail.json index 0600341..91d9eb2 100644 --- a/src/shared/i18n/languages/ua/productDetail.json +++ b/src/shared/i18n/languages/ua/productDetail.json @@ -15,5 +15,7 @@ "camera": "Камера", "zoom": "Зум", "cell": "Стільниковий зв’язок" - } + }, + + "youMayAlsoLike": "Вам також може сподобатися" }