trackerTask #16
@ -9,7 +9,6 @@ import { urlForLocal } from "@utils/helper";
|
||||
import avatarMok from "assets/images/avatarMok.png";
|
||||
|
||||
export const Navigation = () => {
|
||||
|
||||
const profileInfo = useSelector(getProfileInfo);
|
||||
const currentPath = window.location.pathname;
|
||||
const [user] = useState(
|
||||
@ -81,7 +80,7 @@ export const Navigation = () => {
|
||||
key={index}
|
||||
end
|
||||
to={link.path === "/Quiz" ? link.path : `/profile${link.path}`}
|
||||
className={currentPath. includes(link.path) ? 'active' : ''}
|
||||
className={currentPath.includes(link.path) ? "active" : ""}
|
||||
>
|
||||
{link.name}
|
||||
</NavLink>
|
||||
|
@ -98,7 +98,9 @@ export const ProfileCalendarComponent = React.memo(
|
||||
if (userId) {
|
||||
return `/profile/calendar/view/${date.created_at}/${userId}`;
|
||||
}
|
||||
return `/profile/calendar/view/${date.created_at}/${localStorage.getItem("id")}`;
|
||||
return `/profile/calendar/view/${
|
||||
date.created_at
|
||||
}/${localStorage.getItem("id")}`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -282,15 +284,15 @@ export const ProfileCalendarComponent = React.memo(
|
||||
? `${getCorrectDate(startDate)} - ${getCorrectDate(endDate)}`
|
||||
: `${getCorrectDate(endDate)} - ${getCorrectDate(startDate)}`
|
||||
: activePeriod
|
||||
? "Выберите диапазон на календаре"
|
||||
: "Выбрать диапазон"}
|
||||
? "Выберите диапазон на календаре"
|
||||
: "Выбрать диапазон"}
|
||||
</span>
|
||||
<span>
|
||||
{totalRangeHours
|
||||
? `${totalRangeHours} ${hourOfNum(totalRangeHours)}`
|
||||
: endDate
|
||||
? "0 часов"
|
||||
: ""}
|
||||
? "0 часов"
|
||||
: ""}
|
||||
</span>
|
||||
{endDate && (
|
||||
<BaseButton
|
||||
|
@ -87,12 +87,12 @@ const ReportForm = () => {
|
||||
};
|
||||
|
||||
const handler = () => {
|
||||
setIsFetching(true)
|
||||
setIsFetching(true);
|
||||
for (let input of inputs) {
|
||||
if (!input.task || !input.hours_spent) {
|
||||
setReportSuccess("Заполните задачи");
|
||||
setTimeout(() => setReportSuccess(""), 2000);
|
||||
setIsFetching(false)
|
||||
setIsFetching(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -294,15 +294,16 @@ const ReportForm = () => {
|
||||
<div className="row">
|
||||
<div className="col-12">
|
||||
<div className="report-form__footer">
|
||||
{isFetching ?
|
||||
<Loader style={'green'} /> :
|
||||
{isFetching ? (
|
||||
<Loader style={"green"} />
|
||||
) : (
|
||||
<button
|
||||
className="report-form__footer-btn"
|
||||
onClick={() => handler()}
|
||||
>
|
||||
Отпаравить
|
||||
</button>
|
||||
}
|
||||
)}
|
||||
<p className="report-form__footer-text">
|
||||
Всего за день:{" "}
|
||||
<span>
|
||||
|
@ -80,7 +80,9 @@ export const ShortReport = () => {
|
||||
<h2 className="viewReport__title">
|
||||
Ваши отчеты - <span>просмотр отчета за день</span>
|
||||
</h2>
|
||||
<Link to={`/profile/calendar/view/${dateCreate}`}>Посмотреть подробный отчет</Link>
|
||||
<Link to={`/profile/calendar/view/${dateCreate}`}>
|
||||
Посмотреть подробный отчет
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div className="viewReport__bar">
|
||||
|
@ -9,7 +9,11 @@ export const CardAvailableTest = ({ title, description, path, status }) => {
|
||||
return (
|
||||
<div className="card-available-test">
|
||||
<Link
|
||||
to={status === 2 ? `/profile/quiz/report/${path}` : `/profile/quiz/test/${path}`}
|
||||
to={
|
||||
status === 2
|
||||
? `/profile/quiz/report/${path}`
|
||||
: `/profile/quiz/test/${path}`
|
||||
}
|
||||
aria-disabled={true}
|
||||
className="card-available-test__container"
|
||||
style={
|
||||
|
@ -27,11 +27,11 @@ export const ViewReport = () => {
|
||||
const [taskText, setTaskText] = useState([]);
|
||||
const [difficulties, setDifficulties] = useState([]);
|
||||
const [tomorrowTask, setTomorrowTask] = useState([]);
|
||||
const [taskId, setTaskId] = useState('')
|
||||
const [taskId, setTaskId] = useState("");
|
||||
const [totalHours, setTotalHours] = useState(0);
|
||||
const [currentDay] = useState(new Date());
|
||||
const [loader, setLoader] = useState(false);
|
||||
const [deleteLoader, setDeleteLoader] = useState(false)
|
||||
const [deleteLoader, setDeleteLoader] = useState(false);
|
||||
|
||||
function getReportFromDate(day) {
|
||||
setLoader(true);
|
||||
@ -41,7 +41,7 @@ export const ViewReport = () => {
|
||||
apiRequest(`reports/find-by-date?user_id=${params.id}&date=${day}`).then(
|
||||
(res) => {
|
||||
let spendTime = 0;
|
||||
setTaskId(res[0]?.id)
|
||||
setTaskId(res[0]?.id);
|
||||
for (const item of res) {
|
||||
if (item.difficulties) {
|
||||
setDifficulties((prevArray) => [...prevArray, item.difficulties]);
|
||||
@ -69,13 +69,13 @@ export const ViewReport = () => {
|
||||
}
|
||||
|
||||
function deleteReport() {
|
||||
setDeleteLoader(true)
|
||||
setDeleteLoader(true);
|
||||
apiRequest(`reports/delete?id=${taskId}`, {
|
||||
method: "DELETE"
|
||||
}).then((res) => {
|
||||
setDeleteLoader(false)
|
||||
setDeleteLoader(false);
|
||||
if (res) {
|
||||
window.location.replace("/profile/calendar")
|
||||
window.location.replace("/profile/calendar");
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -125,23 +125,32 @@ export const ViewReport = () => {
|
||||
<img src={arrow} alt="#" />
|
||||
<p>Вернуться</p>
|
||||
</Link>
|
||||
{localStorage.getItem("role_status") !== "18" &&
|
||||
{localStorage.getItem("role_status") !== "18" && (
|
||||
<div className="viewReport__bar">
|
||||
<button className="viewReport__bar__edit">
|
||||
Редактировать
|
||||
</button>
|
||||
{deleteLoader ? <Loader style={'green'} /> :
|
||||
<button onClick={deleteReport} className={taskText.length ? "viewReport__bar__delete" : "viewReport__bar__delete disable"}>
|
||||
<button className="viewReport__bar__edit">Редактировать</button>
|
||||
{deleteLoader ? (
|
||||
<Loader style={"green"} />
|
||||
) : (
|
||||
<button
|
||||
onClick={deleteReport}
|
||||
className={
|
||||
taskText.length
|
||||
? "viewReport__bar__delete"
|
||||
: "viewReport__bar__delete disable"
|
||||
}
|
||||
>
|
||||
Удалить отчет
|
||||
</button>
|
||||
}
|
||||
)}
|
||||
</div>
|
||||
}
|
||||
)}
|
||||
</div>
|
||||
<div className="viewReport__switch-date">
|
||||
<div onClick={() => previousDay()}>
|
||||
<Link
|
||||
to={`/profile/calendar/view/${getCreatedDate(previousReportDay)}/${params.id}`}
|
||||
to={`/profile/calendar/view/${getCreatedDate(
|
||||
previousReportDay
|
||||
)}/${params.id}`}
|
||||
>
|
||||
<div className="viewReport__switch-date__prev switch-date">
|
||||
<img src={arrowSwitchDate} alt="arrow" />
|
||||
@ -157,7 +166,11 @@ export const ViewReport = () => {
|
||||
getCreatedDate(currentDay) === params.date ? "disable" : ""
|
||||
}`}
|
||||
>
|
||||
<Link to={`/profile/calendar/view/${getCreatedDate(nextReportDay)}/${params.id}`}>
|
||||
<Link
|
||||
to={`/profile/calendar/view/${getCreatedDate(nextReportDay)}/${
|
||||
params.id
|
||||
}`}
|
||||
>
|
||||
<div className={`viewReport__switch-date__next switch-date`}>
|
||||
<img src={arrowSwitchDate} alt="arrow" />
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user