Fixed full components
This commit is contained in:
@ -8,7 +8,7 @@ import { ProfileBreadcrumbs } from "../../components/ProfileBreadcrumbs/ProfileB
|
||||
import CardArticle from "../../components/UI/CardArticle/CardArticle";
|
||||
|
||||
import mockImgArticle from "../../images/mockImgArticle.png";
|
||||
import rightArrow from "../../images/right-arrow.png";
|
||||
import rightArrow from "../../images/left-arrow.png";
|
||||
import yandexZen from "../../images/yandexZen.svg";
|
||||
import cardCalendar from "../../images/cardCalendar.svg";
|
||||
import cardImg1 from "../../images/cardArticleItem.png";
|
||||
|
@ -1,29 +1,31 @@
|
||||
import React, {useEffect} from 'react'
|
||||
import {useDispatch, useSelector} from 'react-redux'
|
||||
import {useParams, useNavigate, Navigate} from 'react-router-dom'
|
||||
import SVG from 'react-inlinesvg'
|
||||
import React, { useEffect } from "react";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import { useParams, useNavigate, Navigate } from "react-router-dom";
|
||||
import SVG from "react-inlinesvg";
|
||||
|
||||
import Form from '../../components/Form/Form'
|
||||
import {Footer} from '../../components/Footer/Footer'
|
||||
import {LogoutButton} from "../../components/LogoutButton/LogoutButton";
|
||||
import Form from "../../components/Form/Form";
|
||||
import { Footer } from "../../components/Footer/Footer";
|
||||
import { LogoutButton } from "../../components/LogoutButton/LogoutButton";
|
||||
|
||||
import arrow from "../../images/left-arrow.png";
|
||||
import rectangle from "../../images/rectangle_secondPage.png";
|
||||
import telegramIcon from "../../images/telegram-icon.svg";
|
||||
|
||||
import arrow from '../../images/right-arrow.png'
|
||||
import rectangle from '../../images/rectangle_secondPage.png'
|
||||
import telegramIcon from '../../images/telegram-icon.svg'
|
||||
import { LEVELS, SKILLS } from "../../constants/constants";
|
||||
|
||||
import {LEVELS, SKILLS} from '../../constants/constants'
|
||||
import {
|
||||
currentCandidate,
|
||||
selectCurrentCandidate,
|
||||
} from "../../redux/outstaffingSlice";
|
||||
|
||||
import {currentCandidate, selectCurrentCandidate} from '../../redux/outstaffingSlice'
|
||||
import { apiRequest } from "../../api/request";
|
||||
import { urlForLocal } from "../../helper";
|
||||
|
||||
import {apiRequest} from "../../api/request";
|
||||
import {urlForLocal} from "../../helper";
|
||||
|
||||
import './formPage.scss'
|
||||
import "./formPage.scss";
|
||||
|
||||
const FormPage = () => {
|
||||
if(localStorage.getItem('role_status') !== '18') {
|
||||
return <Navigate to="/profile" replace/>
|
||||
if (localStorage.getItem("role_status") !== "18") {
|
||||
return <Navigate to="/profile" replace />;
|
||||
}
|
||||
const params = useParams();
|
||||
const navigate = useNavigate();
|
||||
@ -31,73 +33,73 @@ const FormPage = () => {
|
||||
const candidate = useSelector(selectCurrentCandidate);
|
||||
|
||||
const goBack = () => {
|
||||
navigate(-1)
|
||||
navigate(-1);
|
||||
};
|
||||
|
||||
useEffect(()=> {
|
||||
useEffect(() => {
|
||||
if (!candidate.id) {
|
||||
apiRequest('/profile', {
|
||||
params: Number(params.id)
|
||||
})
|
||||
.then((el) => dispatch(currentCandidate(el)))
|
||||
apiRequest("/profile", {
|
||||
params: Number(params.id),
|
||||
}).then((el) => dispatch(currentCandidate(el)));
|
||||
}
|
||||
}, []);
|
||||
|
||||
|
||||
return (
|
||||
<div className='container'>
|
||||
<div className='form-page'>
|
||||
<div className='form-page__back'>
|
||||
<div className='form-page__arrow' onClick={goBack}>
|
||||
<div className='form-page__arrow-img'>
|
||||
<img src={arrow} alt=''/>
|
||||
</div>
|
||||
<div className='form-page__back-to-candidate'>
|
||||
<span>Вернуться к кандидату</span>
|
||||
</div>
|
||||
<div className="container">
|
||||
<div className="form-page">
|
||||
<div className="form-page__back">
|
||||
<div className="form-page__arrow" onClick={goBack}>
|
||||
<div className="form-page__arrow-img">
|
||||
<img src={arrow} alt="" />
|
||||
</div>
|
||||
<div className="form-page__back-to-candidate">
|
||||
<span>Вернуться к кандидату</span>
|
||||
</div>
|
||||
<LogoutButton />
|
||||
</div>
|
||||
<div className='form-page__candidate'>
|
||||
<div className='form-page__avatar'>
|
||||
{candidate.photo && <img src={urlForLocal(candidate.photo)} alt='candidate avatar'/>}
|
||||
</div>
|
||||
<div className='form-page__candidate-info'>
|
||||
<div className='form-page__position'>
|
||||
<LogoutButton />
|
||||
</div>
|
||||
<div className="form-page__candidate">
|
||||
<div className="form-page__avatar">
|
||||
{candidate.photo && (
|
||||
<img src={urlForLocal(candidate.photo)} alt="candidate avatar" />
|
||||
)}
|
||||
</div>
|
||||
<div className="form-page__candidate-info">
|
||||
<div className="form-page__position">
|
||||
<span>
|
||||
{candidate.specification} {SKILLS[candidate.position_id]},{' '}
|
||||
{candidate.specification} {SKILLS[candidate.position_id]},{" "}
|
||||
{LEVELS[candidate.level]}
|
||||
</span>
|
||||
</div>
|
||||
<div className='form-page__selected'>
|
||||
<img src={rectangle} alt='rectangle'/>
|
||||
<span>Выбранный кандидат</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="form-page__selected">
|
||||
<img src={rectangle} alt="rectangle" />
|
||||
<span>Выбранный кандидат</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='form-page__interview'>
|
||||
<div className='form-page__form'>
|
||||
<Form/>
|
||||
</div>
|
||||
<div className='form-page__separator'>
|
||||
<div className='form-page__line'></div>
|
||||
<div className='form-page__option'>или</div>
|
||||
</div>
|
||||
<div className='form-page__telegram'>
|
||||
<div className='form-page__telegram-text'>
|
||||
Заявка на собеседование через телеграм
|
||||
</div>
|
||||
<div className='form-page__telegram-icon'>
|
||||
<a href='https://t.me/st0kir' target='_blank' rel="noreferrer">
|
||||
<SVG src={telegramIcon}/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
<div className="form-page__interview">
|
||||
<div className="form-page__form">
|
||||
<Form />
|
||||
</div>
|
||||
<div className="form-page__separator">
|
||||
<div className="form-page__line"></div>
|
||||
<div className="form-page__option">или</div>
|
||||
</div>
|
||||
<div className="form-page__telegram">
|
||||
<div className="form-page__telegram-text">
|
||||
Заявка на собеседование через телеграм
|
||||
</div>
|
||||
<div className="form-page__telegram-icon">
|
||||
<a href="https://t.me/st0kir" target="_blank" rel="noreferrer">
|
||||
<SVG src={telegramIcon} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
export default FormPage
|
||||
export default FormPage;
|
||||
|
@ -1,113 +1,112 @@
|
||||
import React from 'react'
|
||||
import arrowLeft from '../../images/right-arrow.png'
|
||||
import React from "react";
|
||||
import { useNavigate } from "react-router";
|
||||
import SVG from "react-inlinesvg";
|
||||
|
||||
import SVG from 'react-inlinesvg'
|
||||
import { TaskItem } from "../../components/TaskItem/TaskItem";
|
||||
import { LogoutButton } from "../../components/LogoutButton/LogoutButton";
|
||||
|
||||
import dateArrowIcon from '../../images/dateArrow.svg'
|
||||
import calendarIcon from '../../images/calendar.svg'
|
||||
import arrowLeft from "../../images/left-arrow.png";
|
||||
import dateArrowIcon from "../../images/dateArrow.svg";
|
||||
import calendarIcon from "../../images/calendar.svg";
|
||||
|
||||
import { TaskItem } from '../../components/TaskItem/TaskItem'
|
||||
|
||||
import './singleReportPage.scss'
|
||||
import {useNavigate} from "react-router";
|
||||
import {LogoutButton} from "../../components/LogoutButton/LogoutButton";
|
||||
import "./singleReportPage.scss";
|
||||
|
||||
const tasks = [
|
||||
{
|
||||
index: 1,
|
||||
text: 'Задача «67 – Навигационная система – Главное меню – Обновить иконки» заблокирована из-за отсутствия новых иконок',
|
||||
hours: 3
|
||||
text: "Задача «67 – Навигационная система – Главное меню – Обновить иконки» заблокирована из-за отсутствия новых иконок",
|
||||
hours: 3,
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: 'Задача «83 – Навигационная система – Поиск по почтовому индексу – Добавить экран поиска по почтовому индексу» не может быть завершена, т.к. работа над задачей «82 – Навигационная система – Разработать модуль поиска по почтовому индексу» ещё не начата',
|
||||
hours: 3
|
||||
}
|
||||
text: "Задача «83 – Навигационная система – Поиск по почтовому индексу – Добавить экран поиска по почтовому индексу» не может быть завершена, т.к. работа над задачей «82 – Навигационная система – Разработать модуль поиска по почтовому индексу» ещё не начата",
|
||||
hours: 3,
|
||||
},
|
||||
];
|
||||
|
||||
const SingleReportPage = () => {
|
||||
|
||||
const navigate= useNavigate();
|
||||
const navigate = useNavigate();
|
||||
|
||||
return (
|
||||
|
||||
<div className='single-report-page'>
|
||||
<div onClick={()=> {navigate(-1)}} className='single-report-page__back'>
|
||||
<div className='single-report-page__back-arrow'>
|
||||
<img src={arrowLeft} alt='arrowLeft'/>
|
||||
</div>
|
||||
<div className='single-report-page__back-text'>
|
||||
Вернуться к списку
|
||||
</div>
|
||||
<div className="single-report-page">
|
||||
<div
|
||||
onClick={() => {
|
||||
navigate(-1);
|
||||
}}
|
||||
className="single-report-page__back"
|
||||
>
|
||||
<div className="single-report-page__back-arrow">
|
||||
<img src={arrowLeft} alt="arrowLeft" />
|
||||
</div>
|
||||
|
||||
<div className='single-report-page__title'>
|
||||
<div className='single-report-page__title-text'>Отчет за день</div>
|
||||
<div className='single-report-page__title-date'>
|
||||
<div className='single-report-page__title-date--prev'>
|
||||
<button>
|
||||
<SVG src={dateArrowIcon} />
|
||||
</button>
|
||||
</div>
|
||||
<div className='single-report-page__title-date--actual'>
|
||||
<SVG src={calendarIcon} />
|
||||
<p>15 июня</p>
|
||||
</div>
|
||||
<div className='single-report-page__title-date--next single-report-page__title-date--enabled'>
|
||||
<button>
|
||||
<SVG src={dateArrowIcon} />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='single-report-page__tasks'>
|
||||
<div className='single-report-page__tasks-title'>
|
||||
<div className='single-report-page__marker'></div>
|
||||
<h3>Какие задачи были выполнены?</h3>
|
||||
</div>
|
||||
{tasks.map((task) => {
|
||||
return (
|
||||
<div className='single-report-page__tasks-item'>
|
||||
<TaskItem {...task} />
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
|
||||
<div className='single-report-page__troubles'>
|
||||
<div className='single-report-page__troubles-title'>
|
||||
<div className='single-report-page__marker'></div>
|
||||
<h3>Какие сложности возникли?</h3>
|
||||
</div>
|
||||
<div className='single-report-page__troubles-item'>
|
||||
91 – Навигационная система – Поиск адреса – Разобраться, почему
|
||||
находятся несколько пересечений Невского пр. и Казанской ул.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='single-report-page__scheduled'>
|
||||
<div className='single-report-page__scheduled-title'>
|
||||
<div className='single-report-page__marker'></div>
|
||||
<h3>Что планируется сделать завтра?</h3>
|
||||
</div>
|
||||
<div className='single-report-page__scheduled-item'>
|
||||
91 – Навигационная система – Поиск адреса – Разобраться, почему
|
||||
находятся несколько пересечений Невского пр. и Казанской ул.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className='single-report-page__footer'>
|
||||
<div className='single-report-page__footer-rectangle'></div>
|
||||
<div className='single-report-page__hours'>
|
||||
<div className='single-report-page__hours-value'></div>
|
||||
<div className='single-report-page__hours-text'></div>
|
||||
</div>
|
||||
</div>
|
||||
<LogoutButton />
|
||||
<div className="single-report-page__back-text">Вернуться к списку</div>
|
||||
</div>
|
||||
|
||||
)
|
||||
<div className="single-report-page__title">
|
||||
<div className="single-report-page__title-text">Отчет за день</div>
|
||||
<div className="single-report-page__title-date">
|
||||
<div className="single-report-page__title-date--prev">
|
||||
<button>
|
||||
<SVG src={dateArrowIcon} />
|
||||
</button>
|
||||
</div>
|
||||
<div className="single-report-page__title-date--actual">
|
||||
<SVG src={calendarIcon} />
|
||||
<p>15 июня</p>
|
||||
</div>
|
||||
<div className="single-report-page__title-date--next single-report-page__title-date--enabled">
|
||||
<button>
|
||||
<SVG src={dateArrowIcon} />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="single-report-page__tasks">
|
||||
<div className="single-report-page__tasks-title">
|
||||
<div className="single-report-page__marker"></div>
|
||||
<h3>Какие задачи были выполнены?</h3>
|
||||
</div>
|
||||
{tasks.map((task) => {
|
||||
return (
|
||||
<div className="single-report-page__tasks-item">
|
||||
<TaskItem {...task} />
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
<div className="single-report-page__troubles">
|
||||
<div className="single-report-page__troubles-title">
|
||||
<div className="single-report-page__marker"></div>
|
||||
<h3>Какие сложности возникли?</h3>
|
||||
</div>
|
||||
<div className="single-report-page__troubles-item">
|
||||
91 – Навигационная система – Поиск адреса – Разобраться, почему
|
||||
находятся несколько пересечений Невского пр. и Казанской ул.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="single-report-page__scheduled">
|
||||
<div className="single-report-page__scheduled-title">
|
||||
<div className="single-report-page__marker"></div>
|
||||
<h3>Что планируется сделать завтра?</h3>
|
||||
</div>
|
||||
<div className="single-report-page__scheduled-item">
|
||||
91 – Навигационная система – Поиск адреса – Разобраться, почему
|
||||
находятся несколько пересечений Невского пр. и Казанской ул.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="single-report-page__footer">
|
||||
<div className="single-report-page__footer-rectangle"></div>
|
||||
<div className="single-report-page__hours">
|
||||
<div className="single-report-page__hours-value"></div>
|
||||
<div className="single-report-page__hours-text"></div>
|
||||
</div>
|
||||
</div>
|
||||
<LogoutButton />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default SingleReportPage
|
||||
export default SingleReportPage;
|
||||
|
@ -10,7 +10,7 @@ import { urlForLocal } from "../../helper";
|
||||
import { apiRequest } from "../../api/request";
|
||||
import { Navigation } from "../../components/Navigation/Navigation";
|
||||
|
||||
import arrow from "../../images/right-arrow.png";
|
||||
import arrow from "../../images/left-arrow.png";
|
||||
import rightArrow from "../../images/arrowRight.svg";
|
||||
import gitImgItem from "../../images/gitItemImg.svg";
|
||||
|
||||
|
@ -14,7 +14,7 @@ import {
|
||||
hourOfNum,
|
||||
} from "../../components/Calendar/calendarHelper";
|
||||
|
||||
import arrow from "../../images/right-arrow.png";
|
||||
import arrow from "../../images/left-arrow.png";
|
||||
import arrowSwitchDate from "../../images/arrowViewReport.png";
|
||||
|
||||
import "./viewReport.scss";
|
||||
@ -103,7 +103,7 @@ export const ViewReport = () => {
|
||||
Ваши отчеты - <span>просмотр отчета за день</span>
|
||||
</h2>
|
||||
<Link className="viewReport__back" to={`/profile/calendar`}>
|
||||
<img src={arrow} alt="arrow" />
|
||||
<img src={arrow} alt="#" />
|
||||
<p>Вернуться</p>
|
||||
</Link>
|
||||
<div className="viewReport__bar">
|
||||
|
Reference in New Issue
Block a user