From 574e3f8cff8be64fbb8fce09a6a180ab3b65485b Mon Sep 17 00:00:00 2001 From: Yan Zhylavy Date: Fri, 20 Dec 2024 11:26:22 +0200 Subject: [PATCH] Change link to terms and conditions on signup page to open appropriate page, delete redundant modal component and files, assosiated with it --- .../pages/SignUp/SignupForm/RulesModal.jsx | 28 --- .../src/pages/SignUp/SignupForm/Rules_text.js | 220 ------------------ .../SignUp/SignupForm/SignUpFormContent.jsx | 30 +-- 3 files changed, 6 insertions(+), 272 deletions(-) delete mode 100644 FrontEnd/src/pages/SignUp/SignupForm/RulesModal.jsx delete mode 100644 FrontEnd/src/pages/SignUp/SignupForm/Rules_text.js diff --git a/FrontEnd/src/pages/SignUp/SignupForm/RulesModal.jsx b/FrontEnd/src/pages/SignUp/SignupForm/RulesModal.jsx deleted file mode 100644 index 81069b4de..000000000 --- a/FrontEnd/src/pages/SignUp/SignupForm/RulesModal.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import PropTypes from 'prop-types'; -import styles from './RulesModal.module.css'; -import rulesText from './Rules_text'; -import { v4 as uuidv4 } from 'uuid'; - -const RulesModal = ({ closeModal }) => { - return ( -
-

{rulesText.title}

- {rulesText.content.map((item) => { - if (item.type === 'paragraph') { - return

{item.text}

; - } else if (item.type === 'heading') { - const HeadingTag = `h${item.level}`; - return {item.text}; - } - return null; - })} - -
- ); -}; - -RulesModal.propTypes = { - closeModal: PropTypes.func.isRequired, -}; - -export default RulesModal; diff --git a/FrontEnd/src/pages/SignUp/SignupForm/Rules_text.js b/FrontEnd/src/pages/SignUp/SignupForm/Rules_text.js deleted file mode 100644 index 28da66958..000000000 --- a/FrontEnd/src/pages/SignUp/SignupForm/Rules_text.js +++ /dev/null @@ -1,220 +0,0 @@ -const rulesText = { - id: 1, - title: 'Правила та умови користування сайтом', - level: 2, - content: [ - { - id: 2, - type: 'paragraph', - text: '1.1. Користувач, що відвідує та використовує цей веб-сайт, автоматично '+ - 'погоджується з умовами, визначеними у цьому документі. Це означає, що користувач '+ - 'приймає на себе зобов\'язання дотримуватися всіх умов, викладених у цих Правилах та '+ - 'Умовах. Будь-яке використання Сайту вважається прийняттям цих Умов.' - }, -{ - id: 3, - type: 'paragraph', - text: '1.1.1. Прийняття Умов здійснюється без обов\'язкового підписування будь-яких '+ - 'документів або угод. Просте використання веб-сайту вказує на згоду користувача з '+ - 'умовами, визначеними у цьому документі.' - }, - { - id: 4, - type: 'paragraph', - text: '1.2. Користувач має право ознайомитися з усіма Правилами та Умовами перед '+ - 'використанням Сайту. Перед першим візитом на веб-сайт або при кожному повторному '+ - 'відвідуванні, користувач повинен вивчити уважно усі умови. Якщо користувач не згоден '+ - 'з будь-якою з умов, він повинен утриматися від користування Сайтом і не '+ - 'використовувати його послуги чи функціонал.' - }, - { - id: 5, - type: 'paragraph', - text: '1.2.1. В разі, якщо користувач використовує веб-сайт після того, як був '+ - 'інформований про умови, але не погоджується з ними, це все ще вважається його '+ - 'прийняттям цих умов. Користувач має можливість в будь-який момент відмовитися від '+ - 'використання Сайту, якщо він не погоджується з умовами, що регулюють його дії.' - }, - { - id: 6, - type: 'heading', - level: 4, - text: '2. Права та обов\'язки користувача' - }, - { - id: 7, - type: 'paragraph', - text: '2.1. Користувач зобов\'язаний дотримуватися всіх правил та обмежень, що '+ - 'встановлені на цьому веб-сайті. Це означає, що він повинен користуватися Сайтом '+ - 'відповідно до установленого порядку, не порушуючи жодного з них. Крім того, він '+ - 'зобов\'язаний використовувати Сайт відповідно до законодавства України та загально '+ - 'прийнятих норм моралі та етики, не допускаючи недозволених дій або порушень.' - }, - { - id: 8, - type: 'paragraph', - text: '2.2. Користувач несе відповідальність за збереження конфіденційності свого '+ - 'пароля та інформації, пов\'язаної з обліковим записом на веб-сайті. Це означає, що '+ - 'він зобов\'язаний утримувати свій пароль в секреті і не допускати доступу до нього '+ - 'третіх осіб. Користувач також зобов\'язаний негайно повідомляти власника Сайту про '+ - 'будь яке несанкціоноване використання його облікового запису або будь-яке порушення '+ - 'безпеки, щоб запобігти можливим наслідкам порушення безпеки або втраті даних.' - }, - { - id: 9, - type: 'paragraph', - text: '2.3. Користувачу заборонено використовувати Сайт для будь-яких незаконних або '+ - 'шкідливих цілей. Це включає, але не обмежується, розповсюдження спаму, вірусів, '+ - 'шкідливого програмного забезпечення та порушення прав інших користувачів. Користувач '+ - 'повинен використовувати Сайт з метою, що не суперечить законодавству та '+ - 'загальноприйнятим нормам етики.' - }, - { - id: 10, - type: 'paragraph', - text: '2.4. Користувач зобов\'язаний використовувати інформацію та матеріали, доступні'+ - ' на Сайті, виключно для особистого використання і не має права передавати їх третім '+ - 'особам без попередньої згоди власника Сайту. Це означає, що користувач може '+ - 'використовувати інформацію з веб-сайту лише для своїх особистих потреб, а не для '+ - 'комерційних чи інших цілей без дозволу власника Сайту.' - }, - { - id: 11, - type: 'paragraph', - text: '2.5. Користувач має право звертатися до адміністрації Сайту з будь-якими '+ - 'питаннями або пропозиціями, пов\'язаними з використанням Сайту або його '+ - 'функціонуванням. Якщо виникають питання щодо правил чи функціоналу Сайту, '+ - 'користувач може звертатися до адміністрації для отримання допомоги або пояснень.' - }, - { - id: 12, - type: 'heading', - level: 4, - text: '3. Права та обов\'язки власника сайту' - }, - { - id: 13, - type: 'paragraph', - text: '3.1. Власник Сайту має право змінювати, модернізувати або припиняти '+ - 'функціонування веб-сайту за власним розсудом і без попереднього повідомлення '+ - 'користувачів. Це може включати оновлення функціоналу, виправлення помилок, а також '+ - 'впровадження нових можливостей. Користувачі повинні бути готові до можливих змін і '+ - 'розуміти, що вони не завжди будуть попереджені про це.' - }, - { - id: 14, - type: 'paragraph', - text: '3.1.1. При цьому Власник Сайту може припинити доступ до веб-сайту для '+ - 'проведення регулярних технічних оновлень, усунення неполадок чи в інших обставинах, '+ - 'які можуть вплинути на нормальне функціонування веб-сайту. Власник Сайту не несе '+ - 'відповідальності перед користувачами за будь-які можливі збитки або незручності, що '+ - 'виникли протягом технічних робіт на сайті.' - }, - { - id: 15, - type: 'paragraph', - text: '3.1.2. При порушенні користувачем умов цих Правил та Умов, Власник Сайту має '+ - 'право відмовити в доступі користувачу до Сайту. Така відмова може бути тимчасовою або'+ - ' постійною, в залежності від серйозності порушення.' - }, - { - id: 16, - type: 'paragraph', - text: '3.2. Власник Сайту зобов\'язується забезпечувати доступність та надійність '+ - 'веб-сайту в межах своїх можливостей. Це включає постійне вдосконалення і підтримку '+ - 'технічної інфраструктури, а також регулярний моніторинг та усунення будь-яких '+ - 'технічних неполадок, що можуть виникнути.' - }, - { - id: 17, - type: 'paragraph', - text: '3.2.1. Власник Сайту приділяє особливу увагу безпеці веб-сайту та застосовує '+ - 'відповідні заходи для запобігання використанню Сайту для незаконних цілей. Це може '+ - 'включати захист від хакерських атак, впровадження заходів безпеки для захисту '+ - 'особистих даних користувачів та інші заходи забезпечення безпеки.' - }, - { - id: 18, - type: 'heading', - level: 4, - text: '4. Авторські права' - }, - { - id: 19, - type: 'paragraph', - text: '4.1. Усі права на контент, розміщений на цьому веб-сайті, належать власнику '+ - 'Сайту або іншим правовласникам, які надали відповідні дозволи. Це охоплює текстовий '+ - 'матеріал, зображення, фотографії, відео, графіку, аудіо записи, програмне '+ - 'забезпечення та будь-який інший контент, який може бути доступний на веб-сайті.' - }, - { - id: 20, - type: 'paragraph', - text: '4.1.1. Користувачам не надається право на власність або передачу авторських '+ - 'прав на будь-який контент, розміщений на веб-сайті, навіть якщо вони використовують '+ - 'цей контент для особистих цілей.' - }, - { - id: 21, - type: 'paragraph', - text: '4.1.2. Будь-яке використання контенту Сайту без попередньої згоди правовласника'+ - ' може бути розглянуте як порушення авторських прав. Це включає відтворення, '+ - 'поширення, публікацію, модифікацію, трансляцію, переклад, адаптацію або інше '+ - 'використання контенту в будь-якій формі та за будь-якими засобами без належної згоди '+ - 'від власника авторських прав.' - }, - { - id: 22, - type: 'paragraph', - text: '4.1.3. Користувачі можуть використовувати контент Сайту лише в рамках обмежень,'+ - ' визначених авторським законодавством або за наявності відповідної ліцензії. Це може '+ - 'включати цитування частин контенту з обов\'язковим зазначенням джерела і посилання на'+ - ' веб-сайт, якщо це дозволяється законом про авторське право.' - }, - { - id: 23, - type: 'paragraph', - text: '4.1.4. Власник Сайту може встановлювати власні умови використання контенту на'+ - ' веб-сайті, які користувач повинен дотримуватися. Це може включати правила щодо '+ - 'надання дозволу на використання, обмеження щодо комерційного використання, а також '+ - 'вимоги щодо зазначення авторства та посилання на джерело.' - }, - { - id: 24, - type: 'heading', - level: 4, - text: '5. Зміни та модифікації' - }, - { - id: 25, - type: 'paragraph', - text: '5.1. Власник Сайту залишає за собою право змінювати ці Правила та Умови у '+ - 'будь-який час без попереднього повідомлення користувачів. Ці зміни набувають чинності'+ - ' негайно після їх оприлюднення на веб-сайті. ' - }, - { - id: 26, - type: 'paragraph', - text: '5.1.1. При внесенні змін у Правила та Умови, власник Сайту може повідомити'+ - ' користувачів про це шляхом розміщення спеціального повідомлення на головній сторінці'+ - ' веб-сайту або шляхом інших засобів сповіщення, на його розсуд.' - }, - { - id: 27, - type: 'paragraph', - text: '5.1.2. Користувачам рекомендується періодично переглядати Правила та Умови, щоб'+ - ' бути в курсі можливих змін. Продовження використання веб-сайту після внесення змін в'+ - ' Правила та Умови вважається підтвердженням згоди користувача з такими змінами.' - }, - { - id: 28, - type: 'paragraph', - text: '5.1.3. Власник Сайту може встановлювати додаткові умови або положення, які '+ - 'доповнюють ці Правила та Умови, щодо конкретних послуг або функцій веб-сайту. Ці '+ - 'додаткові умови і положення є невід’ємною частиною використання таких послуг або '+ - 'функцій і підлягають тим же правилам змін і модифікацій, що й ці Правила та Умови.' - }, - ], -}; - -export default rulesText; diff --git a/FrontEnd/src/pages/SignUp/SignupForm/SignUpFormContent.jsx b/FrontEnd/src/pages/SignUp/SignupForm/SignUpFormContent.jsx index 71bfc238d..9301cfcca 100644 --- a/FrontEnd/src/pages/SignUp/SignupForm/SignUpFormContent.jsx +++ b/FrontEnd/src/pages/SignUp/SignupForm/SignUpFormContent.jsx @@ -1,6 +1,6 @@ -import React, { useEffect, useState, Suspense, useRef } from 'react'; +import React, { useEffect, useState, useRef } from 'react'; import { useForm } from 'react-hook-form'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate, Link } from 'react-router-dom'; import { toast } from 'react-toastify'; import axios from 'axios'; import ReCAPTCHA from 'react-google-recaptcha'; @@ -10,8 +10,6 @@ import SignUpPasswordField from './SignUpPasswordField'; import SignUpCheckboxField from './SignUpCheckboxField'; import styles from './SignUpFormContent.module.css'; - -import PropTypes from 'prop-types'; import { EMAIL_PATTERN, PASSWORD_PATTERN, @@ -20,8 +18,6 @@ import { } from '../../../constants/constants'; -const RulesModal = React.lazy(() => import('./RulesModal')); - export function SignUpFormContentComponent(props) { const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); @@ -58,18 +54,6 @@ export function SignUpFormContentComponent(props) { }); const { setIsValid } = props; - // modal start - const [isModalOpen, setIsModalOpen] = useState(false); - SignUpFormContentComponent.propTypes = { - setIsValid: PropTypes.func.isRequired, - }; - const openModal = () => { - setIsModalOpen(true); - }; - const closeModal = () => { - setIsModalOpen(false); - }; - // modal end const togglePassword = () => { setShowPassword(!showPassword); @@ -352,12 +336,13 @@ export function SignUpFormContentComponent(props) {
@@ -369,9 +354,6 @@ export function SignUpFormContentComponent(props) { className={styles['signup-form__recaptcha']} /> - Loading...}> - {isModalOpen && } - ); }