From 7d497debff9e7f0f8bbd956fb54a086c241d68d0 Mon Sep 17 00:00:00 2001 From: Adeodonne Date: Tue, 26 Sep 2023 15:17:19 +0300 Subject: [PATCH 01/11] add links for vacancies` description add redirecting to gmail --- src/app/common/constants/email.constants.ts | 3 + .../Vacancies/Vacancy/Vacancy.component.tsx | 22 +++--- .../Vacancies/Vacancy/Vacancy.syles.scss | 1 + .../VacancyModal/VacancyModal.component.tsx | 79 +++++++++++-------- .../ContactBlock/ContactBlock.component.tsx | 4 +- .../SectionFifth.component.tsx | 4 +- .../SectionSeventh.component.tsx | 4 +- .../JobsModal/JobsModal.component.tsx | 47 ++++++++--- 8 files changed, 102 insertions(+), 62 deletions(-) create mode 100644 src/app/common/constants/email.constants.ts diff --git a/src/app/common/constants/email.constants.ts b/src/app/common/constants/email.constants.ts new file mode 100644 index 000000000..cb37e45f9 --- /dev/null +++ b/src/app/common/constants/email.constants.ts @@ -0,0 +1,3 @@ +const EMAIL = 'streetcodeua@gmail.com'; + +export default EMAIL; diff --git a/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.component.tsx b/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.component.tsx index c1617e4f9..bd4be2dd8 100644 --- a/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.component.tsx +++ b/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.component.tsx @@ -1,5 +1,7 @@ -import { useState } from 'react'; -import './Vacancy.syles.scss' +import './Vacancy.syles.scss'; + +import React, { useState } from 'react'; + import VacancyModal from './VacancyModal/VacancyModal.component'; const Vacancy = (job: Job) => { @@ -11,18 +13,18 @@ const Vacancy = (job: Job) => { } return (
-

{job.title}

-

{job.salary}

+

{job?.title}

+

{job?.salary}

{ - job.description.length < maxLength - ?

{job.description} -

+

- :

{job.description.substring(0, maxLength)}... -

... +

diff --git a/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.syles.scss b/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.syles.scss index 194709ae4..1ad287719 100644 --- a/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.syles.scss +++ b/src/features/AboutUsPage/Vacancies/Vacancy/Vacancy.syles.scss @@ -30,6 +30,7 @@ label { @include mut.with-font($font-family: ft.$closer-text-font, $font-weight: 500, $font-size: 20px); color: c.$dark-red-color; + cursor: pointer; } @media screen and (max-width: s.$tablet) { diff --git a/src/features/AboutUsPage/Vacancies/Vacancy/VacancyModal/VacancyModal.component.tsx b/src/features/AboutUsPage/Vacancies/Vacancy/VacancyModal/VacancyModal.component.tsx index 5d92b6f09..509789b08 100644 --- a/src/features/AboutUsPage/Vacancies/Vacancy/VacancyModal/VacancyModal.component.tsx +++ b/src/features/AboutUsPage/Vacancies/Vacancy/VacancyModal/VacancyModal.component.tsx @@ -1,9 +1,13 @@ import './VacancyModal.styles.scss'; -import { Button, Modal } from "antd"; + import CancelBtn from '@images/utils/Cancel_btn.svg'; + import React from 'react'; -import { SCREEN_SIZES } from '@/app/common/constants/screen-sizes.constants'; +import EMAIL from '@constants/email.constants'; +import { Button, Modal } from 'antd'; + +import { SCREEN_SIZES } from '@/app/common/constants/screen-sizes.constants'; interface Props { isOpen: boolean, @@ -11,52 +15,61 @@ interface Props { job : Job } -const VacancyModal = ({isOpen, setOpen, job}: Props) => { - +const VacancyModal = ({ isOpen, setOpen, job }: Props) => { const descriptionLines = job.description.split('\n').map((line, index) => ( - {line} +

)); const getWidth = () => { - if(window.innerWidth > SCREEN_SIZES.tablet) { - return 830 + if (window.innerWidth > SCREEN_SIZES.tablet) { + return 830; } - if(window.innerWidth > SCREEN_SIZES.smallTablet){ - return 600 + if (window.innerWidth > SCREEN_SIZES.smallTablet) { + return 600; } - if(window.innerWidth > SCREEN_SIZES.phone){ - return 400 + if (window.innerWidth > SCREEN_SIZES.phone) { + return 400; } - if(window.innerWidth > SCREEN_SIZES.smallPhone){ - return 310 + if (window.innerWidth > SCREEN_SIZES.smallPhone) { + return 310; } - return 270 - } + return 270; + }; - return( + return ( {setOpen(false)}} + open={isOpen} + onCancel={() => { + setOpen(false); + }} closeIcon={} className="vacancyModal" - footer = {null} + footer={null} width={getWidth()} - > - -
-
-

{job.title}

-

{job.salary}

-

{descriptionLines}

-
-
- -
+ > + +
+
+

{job.title}

+

{job.salary}

+

{descriptionLines}

+
+ +
+
- ); -} -export default VacancyModal; \ No newline at end of file + ); +}; +export default VacancyModal; diff --git a/src/features/AdditionalPages/ContactUsPage/MainBlock/ContactBlock/ContactBlock.component.tsx b/src/features/AdditionalPages/ContactUsPage/MainBlock/ContactBlock/ContactBlock.component.tsx index 1b4ace0d4..fa6bac462 100644 --- a/src/features/AdditionalPages/ContactUsPage/MainBlock/ContactBlock/ContactBlock.component.tsx +++ b/src/features/AdditionalPages/ContactUsPage/MainBlock/ContactBlock/ContactBlock.component.tsx @@ -8,14 +8,14 @@ import TikTok from '@images/contact-us/TikTok.webp'; import Twitter from '@images/contact-us/Twitter.webp'; import YouTube from '@images/contact-us/Youtube.webp'; -const EMAIL = 'streetcodeua@gmail.com'; +import EMAIL from '@constants/email.constants'; const ContactBlock = () => (
- + email-logo diff --git a/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionFifth/SectionFifth.component.tsx b/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionFifth/SectionFifth.component.tsx index 2825d6759..278235d79 100644 --- a/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionFifth/SectionFifth.component.tsx +++ b/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionFifth/SectionFifth.component.tsx @@ -1,4 +1,4 @@ -const EMAIL = 'streetcodeua@gmail.com'; +import EMAIL from '@constants/email.constants'; const SectionFifth = () => (
@@ -105,7 +105,7 @@ const SectionFifth = () => ( Щоб звернутися до Організації з приводу використання файлів cookie, відправте повідомлення електронною поштою на адресу  - {EMAIL} + {EMAIL} .
Якщо користувач не включає використання файлів cookie або навмисно видаляє всі файли cookie diff --git a/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionSeventh/SectionSeventh.component.tsx b/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionSeventh/SectionSeventh.component.tsx index eeab9fc96..e09ce1edc 100644 --- a/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionSeventh/SectionSeventh.component.tsx +++ b/src/features/AdditionalPages/PrivatePolicyPage/SubSections/SubSectionSeventh/SectionSeventh.component.tsx @@ -1,4 +1,4 @@ -const EMAIL = 'streetcodeua@gmail.com'; +import EMAIL from '@constants/email.constants'; const SectionSeventh = () => (
@@ -12,7 +12,7 @@ const SectionSeventh = () => (
З питань щодо політики конфіденційності (в т.ч. видалення персональних даних), Користувач може зв'язатися з нами, використовуючи e—mail: - {EMAIL} + {EMAIL} .
diff --git a/src/features/AdminPage/JobsPage/JobsModal/JobsModal.component.tsx b/src/features/AdminPage/JobsPage/JobsModal/JobsModal.component.tsx index 0f4abc35b..41b7545f4 100644 --- a/src/features/AdminPage/JobsPage/JobsModal/JobsModal.component.tsx +++ b/src/features/AdminPage/JobsPage/JobsModal/JobsModal.component.tsx @@ -3,6 +3,7 @@ import './JobsModal.styles.scss'; import { observer } from 'mobx-react-lite'; import { useEffect, useState } from 'react'; import CancelBtn from '@assets/images/utils/Cancel_btn.svg'; +import { Editor as TinyMCEEditor } from '@tinymce/tinymce-react/lib/cjs/main/ts/components/Editor'; import { Button, Form, Input, Modal, Popover, @@ -76,7 +77,7 @@ const JobsModal = ({ open, setOpen, currentId } : Props) => { id: currentId, title, status: isActive, - description, + description: current.description, salary, }; @@ -96,6 +97,10 @@ const JobsModal = ({ open, setOpen, currentId } : Props) => { setOpen(false); }; + const handleEditorChange = (content: string, editor: any) => { + setCurrent({ ...current, description: content }); + }; + return ( { - -