From 200b74447efb198e33d5d630041440792bd242a3 Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Mon, 22 Jul 2024 21:14:42 +0300 Subject: [PATCH 01/13] Remove Cookie Policy page from Direct page --- FrontEnd/src/components/CookiesPolicyPage/LinkContainer.jsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/FrontEnd/src/components/CookiesPolicyPage/LinkContainer.jsx b/FrontEnd/src/components/CookiesPolicyPage/LinkContainer.jsx index 7ae76d3dd..94643bbe8 100644 --- a/FrontEnd/src/components/CookiesPolicyPage/LinkContainer.jsx +++ b/FrontEnd/src/components/CookiesPolicyPage/LinkContainer.jsx @@ -13,9 +13,6 @@ const LinkContainer = () => { Умови користування - - Cookie Policy - Contact From 0475eb0088901cc59032c5f3faf476e353de90ae Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Mon, 22 Jul 2024 21:16:36 +0300 Subject: [PATCH 02/13] Remove Cookie Policy page from Footer --- .../src/components/HeaderFooter/footer/top/FooterPolicy.jsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/FrontEnd/src/components/HeaderFooter/footer/top/FooterPolicy.jsx b/FrontEnd/src/components/HeaderFooter/footer/top/FooterPolicy.jsx index 5b1bb7cbe..3ea38c2af 100644 --- a/FrontEnd/src/components/HeaderFooter/footer/top/FooterPolicy.jsx +++ b/FrontEnd/src/components/HeaderFooter/footer/top/FooterPolicy.jsx @@ -12,11 +12,6 @@ const POLICY_LINKS = [ title: 'Умови користування', link: 'terms-and-conditions/' }, - { - id: 'i2', - title: 'Cookie Policy', - link: 'cookies-policy/' - }, { id: 'i3', title: 'Contact', From 3704d3cf346fd2f084eb36cdeafb276ac5eb629f Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Wed, 24 Jul 2024 10:51:20 +0300 Subject: [PATCH 03/13] Update .footer-top-content --- .../src/components/HeaderFooter/footer/top/FooterTop.module.css | 2 +- FrontEnd/src/components/cookieacception/CookieMod.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FrontEnd/src/components/HeaderFooter/footer/top/FooterTop.module.css b/FrontEnd/src/components/HeaderFooter/footer/top/FooterTop.module.css index 37b4ffec7..e6fc59c88 100644 --- a/FrontEnd/src/components/HeaderFooter/footer/top/FooterTop.module.css +++ b/FrontEnd/src/components/HeaderFooter/footer/top/FooterTop.module.css @@ -13,5 +13,5 @@ .footer-top-content { display: flex; align-items: flex-start; - gap: 80px; + gap: 180px; } diff --git a/FrontEnd/src/components/cookieacception/CookieMod.jsx b/FrontEnd/src/components/cookieacception/CookieMod.jsx index d0386bb2d..0855d7a03 100644 --- a/FrontEnd/src/components/cookieacception/CookieMod.jsx +++ b/FrontEnd/src/components/cookieacception/CookieMod.jsx @@ -30,7 +30,7 @@ const CookieMod = ({ active, setActive }) => { Наш веб-сайт використовує файли cookie, щоб покращити ваш досвід. Ви можете відмовитися, якщо хочете. Дізнатися більше{' '} { - + про кукі-файли } From 0b378fab00a9bd178b1ece5e162dc14075da92cc Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Wed, 24 Jul 2024 11:36:58 +0300 Subject: [PATCH 04/13] Optimize hash-based scrolling in PrivacyPolicy component --- .../PrivacyPolicyPage/PrivacyPolicyPage.jsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/FrontEnd/src/components/PrivacyPolicyPage/PrivacyPolicyPage.jsx b/FrontEnd/src/components/PrivacyPolicyPage/PrivacyPolicyPage.jsx index 6ff7513d6..5d6267099 100644 --- a/FrontEnd/src/components/PrivacyPolicyPage/PrivacyPolicyPage.jsx +++ b/FrontEnd/src/components/PrivacyPolicyPage/PrivacyPolicyPage.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import { useEffect } from 'react'; import styles from './PrivacyPolicy.module.css'; import privacyPolicyText from './text'; import TEXT_CONTENT from './text'; @@ -10,6 +11,17 @@ import useScrollToTop from '../../hooks/useScrollToTop'; const PrivacyPolicy = () => { useScrollToTop(); + useEffect(() => { + const hash = window.location.hash; + if (hash && hash !== '#') { + const cleanHash = hash.replace(/^#/, ''); + const element = document.getElementById(cleanHash); + if (element) { + element.scrollIntoView({ behavior: 'smooth' }); + } + } + }, []); + return (
From 180dab9c6b9e223f8bca6b4bcd4f4e548e88c832 Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Wed, 24 Jul 2024 11:38:28 +0300 Subject: [PATCH 05/13] Add id attribute to headings in renderHeading function for improved navigation and linking --- .../components/CookiesPolicyPage/RenderingTextContainer.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FrontEnd/src/components/CookiesPolicyPage/RenderingTextContainer.jsx b/FrontEnd/src/components/CookiesPolicyPage/RenderingTextContainer.jsx index d1af3dcb6..4c4322641 100644 --- a/FrontEnd/src/components/CookiesPolicyPage/RenderingTextContainer.jsx +++ b/FrontEnd/src/components/CookiesPolicyPage/RenderingTextContainer.jsx @@ -8,7 +8,7 @@ const RenderingTextContainer = ({ item, styles }) => { const renderHeading = () => { const HeadingTag = `h${item.level}`; - return {item.text}; + return {item.text}; }; const renderParagraphMarginBottom = () => ( @@ -45,7 +45,7 @@ const RenderingTextContainer = ({ item, styles }) => { RenderingTextContainer.propTypes = { item: PropTypes.shape({ - id: PropTypes.number.isRequired, + id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, type: PropTypes.string.isRequired, text: PropTypes.string.isRequired, level: PropTypes.number, From cc12fcfb2741f808b1a9f8eebd34f13376028268 Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Wed, 24 Jul 2024 11:41:03 +0300 Subject: [PATCH 06/13] Updated link in CookieMod component to point to specific section in privacy policy --- FrontEnd/src/components/cookieacception/CookieMod.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FrontEnd/src/components/cookieacception/CookieMod.jsx b/FrontEnd/src/components/cookieacception/CookieMod.jsx index 0855d7a03..8a11e75b5 100644 --- a/FrontEnd/src/components/cookieacception/CookieMod.jsx +++ b/FrontEnd/src/components/cookieacception/CookieMod.jsx @@ -30,7 +30,7 @@ const CookieMod = ({ active, setActive }) => { Наш веб-сайт використовує файли cookie, щоб покращити ваш досвід. Ви можете відмовитися, якщо хочете. Дізнатися більше{' '} { - + про кукі-файли } From 370157dabba8518085a9fbb7f45a314ffb94fd32 Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Wed, 24 Jul 2024 11:59:49 +0300 Subject: [PATCH 07/13] Corrected the test on the cookiepolicy link --- FrontEnd/src/tests/CookieModal.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FrontEnd/src/tests/CookieModal.test.js b/FrontEnd/src/tests/CookieModal.test.js index 4d8d54925..68c6ca0eb 100644 --- a/FrontEnd/src/tests/CookieModal.test.js +++ b/FrontEnd/src/tests/CookieModal.test.js @@ -35,7 +35,7 @@ describe('CookieMod component unit tests', () => { const linkElement = screen.getByText(/про кукі-файли/i); expect(linkElement).toBeInTheDocument(); - expect(linkElement).toHaveAttribute('href', '/cookies-policy'); + expect(linkElement).toHaveAttribute('href', '/privacy-policy#17'); }); test('renders hidden cookie modal window', () => { From 09338f3a579d04ba3aeb06edef3cdd16a092bdc5 Mon Sep 17 00:00:00 2001 From: OlesiaBarannik Date: Sat, 27 Jul 2024 23:00:23 +0300 Subject: [PATCH 08/13] =?UTF-8?q?Added=20'cookie-details'=20block=20for=20?= =?UTF-8?q?expanding=20and=20collapsing=20when=20the=20'=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=20=D0=BA=D1=83=D0=BA=D1=96-=D1=84=D0=B0=D0=B9=D0=BB=D0=B8'=20l?= =?UTF-8?q?ink=20is=20clicked.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/cookieacception/CookieMod.jsx | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/FrontEnd/src/components/cookieacception/CookieMod.jsx b/FrontEnd/src/components/cookieacception/CookieMod.jsx index 8a11e75b5..362ada57c 100644 --- a/FrontEnd/src/components/cookieacception/CookieMod.jsx +++ b/FrontEnd/src/components/cookieacception/CookieMod.jsx @@ -2,9 +2,12 @@ import { Link } from 'react-router-dom'; import { useCookies } from 'react-cookie'; import styles from './CookieMod.module.css'; import cookiesimage from './cookieimg/homecookies.png'; +import { useState } from 'react'; const CookieMod = ({ active, setActive }) => { const [cookies, setCookie] = useCookies(); + const [detailsVisible, setDetailsVisible] = useState(false); + const accessCookie = () => { const d = new Date(); const cookieLifeTime = 30 * 24 * 60 * 60 * 1000; @@ -20,21 +23,47 @@ const CookieMod = ({ active, setActive }) => { setCookie('first', false, { expires: d, sameSite: 'lax' }); setActive(false); }; + + const toggleDetails = (event) => { + event.preventDefault(); + setDetailsVisible(!detailsVisible); + }; + return cookies.first ? null : (
setActive(false)} > -
+
e.stopPropagation()}>

Наш веб-сайт використовує файли cookie, щоб покращити ваш досвід. Ви можете відмовитися, якщо хочете. Дізнатися більше{' '} { - + про кукі-файли } +

+ {detailsVisible && ( +
+

Використання файлів "cookies"

+

+ 1. Файли "cookies" є невеликими текстовими файлами, які можуть бути розміщені на пристрої + користувача під час відвідування Сайту. Вони дозволяють збирати та зберігати певну інформацію про + відвідувачів, таку як налаштування мови, історія перегляду, дані автентифікації та інші деталі. + Використання файлів "cookies" на Сайті сприяє поліпшенню зручності та персоналізації досвіду + користувачів, дозволяючи зберігати інформацію про їхній вибір та взаємодію з різними елементами Сайту. +

+

+ 2. Користувач має можливість керувати використанням файлів "cookies" у налаштуваннях свого + веб-браузера. Відключення файлів "cookies" може бути здійснено користувачем у будь-який + момент. Проте важливо зауважити, що відключення "cookies" може призвести до обмеження + функціональності Сайту, а також до втрати певних персоналізованих налаштувань та зручностей, які вони + забезпечують. +

+
+ )}