diff --git a/src/assets/icons/arrows/arrowCalendar_left.png b/src/assets/icons/arrows/arrowCalendar_left.png new file mode 100644 index 00000000..48b264f9 Binary files /dev/null and b/src/assets/icons/arrows/arrowCalendar_left.png differ diff --git a/src/assets/icons/arrows/arrowCalendar_right.png b/src/assets/icons/arrows/arrowCalendar_right.png new file mode 100644 index 00000000..7337c789 Binary files /dev/null and b/src/assets/icons/arrows/arrowCalendar_right.png differ diff --git a/src/assets/icons/arrows/arrowCalendar.png b/src/assets/icons/arrows/arrowRight.png similarity index 100% rename from src/assets/icons/arrows/arrowCalendar.png rename to src/assets/icons/arrows/arrowRight.png diff --git a/src/assets/icons/calendar.svg b/src/assets/icons/calendar.svg index 1cd84ac5..20f8558d 100644 --- a/src/assets/icons/calendar.svg +++ b/src/assets/icons/calendar.svg @@ -1,4 +1,3 @@ - - - + + diff --git a/src/components/Calendar/calendarComponent.scss b/src/components/Calendar/calendarComponent.scss index aaf91c17..76a82abb 100644 --- a/src/components/Calendar/calendarComponent.scss +++ b/src/components/Calendar/calendarComponent.scss @@ -23,10 +23,14 @@ .calendar__hours { margin: 0 5px; - line-height: 0; + font-size: 22px; font-weight: 500; display: flex; align-items: center; + span { + font-size: 22px; + font-weight: 500; + } } } @@ -54,21 +58,33 @@ } &-box { + background-color: #e5f1fb; + height: 47px; display: flex; align-items: center; - margin-left: 20px; - cursor: pointer; + margin: 0 15px; + padding: 0 20px; + border-radius: 5px; + + font-weight: 400; + font-size: 16px; + color: #406128; img { - margin: 0px 10px; - width: 12px; - height: 12px; - - &:first-child { - transform: rotate(180deg); - margin: 0; - } + width: 17px; + height: 17px; + margin: 0 10px 0 0; } + } + + &-arrow { + display: flex; + align-items: center; + cursor: pointer; + height: 47px; + padding: 0 8px; + background-color: #e5f1fb; + border-radius: 5px; span { color: #18586e; @@ -107,12 +123,9 @@ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr; p { - color: #398208; - font-size: 25px; - font-weight: 400; - font-style: normal; - letter-spacing: normal; - line-height: 30px; + color: #9babc5; + font-size: 14px; + font-weight: 500; text-align: center; } } @@ -127,24 +140,48 @@ button { margin: 0 auto; - width: 125px; - height: 42px; + width: 135px; + height: 82px; padding: 0px; box-shadow: 0 0 59px rgba(44, 44, 44, 0.05); - border-radius: 5px; + border-radius: 10px; border: 1px solid #c4c4c4; background-color: #ffffff; margin-top: 20px; font-size: 1.2em; text-align: center; + .form-date { + width: 100%; + padding: 5px 0 0 15px; + height: 100%; + } + + .form-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + border-top: #eff5fa 2px solid; + + .form-hours { + display: none; + } + } + a { color: black; display: flex; + flex-direction: column; align-items: center; justify-content: center; - font-weight: 500; - font-size: 12px; + font-weight: 400; + font-size: 16px; + height: 100%; @media (max-width: 500px) { font-size: 10px; @@ -152,20 +189,6 @@ } } - img { - width: 16px; - height: 16px; - margin: 0 5px 0 0; - - @media (max-width: 968px) { - margin-right: 2px; - - @media (max-width: 610px) { - display: none; - } - } - } - @media (max-width: 1200px) { width: 110px; } @@ -214,17 +237,6 @@ } } -.calendar__icon { - margin-right: 10px; - margin-top: -4px; -} - -@media (max-width: 575.98px) { - .calendar__icon { - display: none; - } -} - .select-days { border-style: dashed !important; @@ -246,7 +258,44 @@ } .before { - background-color: #e5f9b6 !important; + background-color: #ffffff !important; + + .form-date { + height: 35% !important; + } + .form-box { + background-color: #fafbfe; + + .form-hours { + color: #6dd077; + background-color: #6dd0772f; + border-spacing: 10px; + border-radius: 5px; + display: flex !important; + flex-direction: row; + width: 95%; + font-weight: 400; + font-size: 14px; + padding: 0 7px; + position: relative; + + span { + color: #1458dd; + font-weight: 700; + font-size: 14px; + margin: auto; + } + } + .form-hours::before { + content: ""; + position: absolute; + top: 10%; + left: 0; + height: 75%; + border-left: 2px solid #6dd077; + border-radius: 5px; + } + } } .pass { @@ -271,18 +320,25 @@ align-items: center; column-gap: 16px; font-size: 16px; - font-weight: 500; + font-weight: 400; position: relative; .select { + background-color: #e5f1fb; + color: #406128; border-radius: 5px; - border: 2px solid #c4c4c4; - box-shadow: 0 0 59px rgba(44, 44, 44, 0.05); - padding: 5px 8px; + padding: 15px; cursor: pointer; text-align: center; } + .hint { + color: #6f6f6f; + font-size: 14px; + font-weight: 300; + margin: 0 0 0 20px; + } + .close { cursor: pointer; margin-left: 8px; diff --git a/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx b/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx index d3b093bf..07ee2b7c 100644 --- a/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx +++ b/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx @@ -7,7 +7,7 @@ import { useNotification } from "@hooks/useNotification"; import { Loader } from "@components/Common/Loader/Loader"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; -import arrow from "assets/icons/arrows/arrowCalendar.png"; +import arrow from "assets/icons/arrows/arrowRight.png"; import close from "assets/icons/close.png"; import "./modalResetPassword.scss"; diff --git a/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx b/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx index c8d5c73c..15779daa 100644 --- a/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx +++ b/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx @@ -32,7 +32,7 @@ import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadc import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import TrackerTaskComment from "@components/TrackerTaskComment/TrackerTaskComment"; -import arrow from "assets/icons/arrows/arrowCalendar.png"; +import arrow from "assets/icons/arrows/arrowRight.png"; import arrowStart from "assets/icons/arrows/arrowStart.png"; import arrowDown from "assets/icons/arrows/selectArrow.png"; import calendarIcon from "assets/icons/calendar.svg"; diff --git a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx index ed947e10..0e076717 100644 --- a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx +++ b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx @@ -26,7 +26,8 @@ import { apiRequest } from "@api/request"; import "@components/Calendar/calendarComponent.scss"; import BaseButton from "@components/Common/BaseButton/BaseButton"; -import arrow from "assets/icons/arrows/arrowCalendar.png"; +import arrowLeft from "assets/icons/arrows/arrowCalendar_left.png"; +import arrowRight from "assets/icons/arrows/arrowCalendar_right.png"; import calendarIcon from "assets/icons/calendar.svg"; // import close from "assets/icons/closeProjectPersons.svg"; import rectangle from "assets/images/rectangle__calendar.png"; @@ -173,11 +174,13 @@ export const ProfileCalendarComponent = React.memo( }); } + // function errorr(TotalRangeHours) { + // console.error(TotalRangeHours); + // } return (
- {!userId &&

Мои отчеты за

}

{month}  @@ -187,27 +190,26 @@ export const ProfileCalendarComponent = React.memo(

{ setValueHandler(prevMonth()); dispatch(setRequestDate(getReports(prevMonth()))); }} > - - {prevMonth().format("MMMM")} +
- {value.format("YYYY")} + + {value.format("MMMM, YYYY")}
{ setValueHandler(nextMonth()); dispatch(setRequestDate(getReports(nextMonth()))); }} > - {nextMonth().format("MMMM")} - +
@@ -218,13 +220,13 @@ export const ProfileCalendarComponent = React.memo(
-

Пн

-

Вт

-

Ср

-

Чт

-

Пт

-

Сб

-

Вс

+

Понедельник

+

Вторник

+

Среда

+

Четверг

+

Пятница

+

Суббота

+

Воскресенье

@@ -260,12 +262,13 @@ export const ProfileCalendarComponent = React.memo( id="btn" > - - {currentMonthAndDay(day)} +
{day.format("D")}
+
+
+ 7/Час +
+
+ {/* {currentMonthAndDay(day)} */} )) @@ -289,6 +292,7 @@ export const ProfileCalendarComponent = React.memo( ? "Выберите диапазон на календаре" : "Выбрать диапазон"} + {totalRangeHours ? `${totalRangeHours} ${hourOfNum(totalRangeHours)}` @@ -308,6 +312,7 @@ export const ProfileCalendarComponent = React.memo( Сбросить )} + Для общего просчета - выберите диапазон
); diff --git a/src/components/ProfileCalendar/profileCalendar.scss b/src/components/ProfileCalendar/profileCalendar.scss index 38ffb02c..54f0cef4 100644 --- a/src/components/ProfileCalendar/profileCalendar.scss +++ b/src/components/ProfileCalendar/profileCalendar.scss @@ -36,7 +36,6 @@ } .calendar__wrapper { - @media (max-width: 1000px) { min-height: auto; } diff --git a/src/pages/PartnerСategories/PartnerСategories.jsx b/src/pages/PartnerСategories/PartnerСategories.jsx index 8799a793..a274d008 100644 --- a/src/pages/PartnerСategories/PartnerСategories.jsx +++ b/src/pages/PartnerСategories/PartnerСategories.jsx @@ -49,7 +49,7 @@ export const PartnerCategories = () => { const COLUMNS = [ { - label: "Аватар", + label: "", renderCell: (item) => ( { }, { label: "ФИО", - renderCell: (item) => item?.employee.fio, + renderCell: (item) =>

{item?.employee.fio}

, sort: { sortKey: "NAME" } }, { @@ -68,18 +68,21 @@ export const PartnerCategories = () => { renderCell: (item) => ( Резюме +
+ arrow +
) }, { - label: "Отчет", + label: "Отчетность", renderCell: (item) => ( Подробный отчет -
+
arrow
@@ -105,7 +108,7 @@ export const PartnerCategories = () => { const pagination = usePagination(data, { state: { page: 0, - size: 5 + size: 10 } }); @@ -259,6 +262,7 @@ export const PartnerCategories = () => { id="search" type="text" value={search} + placeholder="Поиск по сотрудникам" onChange={handleSearch} /> @@ -270,26 +274,52 @@ export const PartnerCategories = () => { pagination={pagination} />
- - Total Pages: {pagination.state.getTotalPages(data.nodes)} - - + - Page:{" "} {pagination.state.getPages(data.nodes).map((_, index) => ( ))} +
) : ( diff --git a/src/pages/PartnerСategories/partnerСategories.scss b/src/pages/PartnerСategories/partnerСategories.scss index e7d2dd26..1568f33d 100644 --- a/src/pages/PartnerСategories/partnerСategories.scss +++ b/src/pages/PartnerСategories/partnerСategories.scss @@ -13,10 +13,13 @@ &__items { display: flex; - gap: 10px; flex-wrap: wrap; justify-content: center; + background: white; + padding: 20px 0 30px; + border-radius: 7px; } + &__empty { font-size: 18px; font-weight: 500; @@ -161,8 +164,18 @@ display: flex; width: 100%; gap: 10px; - font-size: 18px; align-items: center; + padding: 0 18px 35px; + margin-bottom: 0; + font-size: 16px; + + input { + background: #F0F2F5; + outline: none; + border-radius: 6px; + padding: 6px; + border: none; + } } &__avatar { @@ -175,20 +188,85 @@ color: black; font-size: 16px; align-items: center; + + .img__wrapper { + width: 22px; + height: 22px; + border-radius: 50px; + background: #D9D7D7; + display: flex; + align-items: center; + justify-content: center; + + img { + width: 14px; + } + } } &__pagination { width: 100%; display: flex; - justify-content: space-between; - font-size: 16px; + font-size: 14px; align-items: center; + padding: 39px 34px 0; + column-gap: 12px; + + button { + font-size: 14px; + width: 32px; + border-radius: 5px; + height: 32px; + color: #2E3A59; + } + + .switch { + border: none; + background: #F0F2F5; + font-weight: 600; + } + + .disable { + opacity: 0.7; + } } &__pages { display: flex; - column-gap: 5px; - align-items: center; + column-gap: 4px; + color: black; + background: white; + + .page { + border: 1px solid #E8ECF8; + background: none; + + &--active { + border: none; + background: #9DA65D; + color: white; + } + } + } + } + + table { + th { + border-top: 0; + border-bottom: 1px solid #EDEDED; + color: #1458DD; + font-size: 14px; + font-weight: 700; + } + + td { + border-top: 0; + border-bottom: 1px solid #EDEDED; + color: #2E3A59; + + p { + font-weight: 500; + } } } } diff --git a/src/pages/ProjectTracker/ProjectTracker.jsx b/src/pages/ProjectTracker/ProjectTracker.jsx index 13ea7a6b..5494adea 100644 --- a/src/pages/ProjectTracker/ProjectTracker.jsx +++ b/src/pages/ProjectTracker/ProjectTracker.jsx @@ -41,7 +41,7 @@ import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadc import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import TrackerSelectColumn from "@components/TrackerSelectColumn/TrackerSelectColumn"; -import arrow from "assets/icons/arrows/arrowCalendar.png"; +import arrow from "assets/icons/arrows/arrowRight.png"; import arrowDown from "assets/icons/arrows/selectArrow.png"; import category from "assets/icons/category.svg"; import close from "assets/icons/close.png"; diff --git a/src/pages/Statistics/Statistics.jsx b/src/pages/Statistics/Statistics.jsx index 1f32db25..e63050cd 100644 --- a/src/pages/Statistics/Statistics.jsx +++ b/src/pages/Statistics/Statistics.jsx @@ -15,7 +15,7 @@ import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; -import arrow from "assets/icons/arrows/arrowCalendar.png"; +import arrow from "assets/icons/arrows/arrowRight.png"; import emailImg from "assets/icons/emailStatistics.svg"; import link from "assets/icons/link.svg"; import project from "assets/icons/trackerProject.svg"; diff --git a/src/pages/Summary/Summary.jsx b/src/pages/Summary/Summary.jsx index b5f30d5b..874429c1 100644 --- a/src/pages/Summary/Summary.jsx +++ b/src/pages/Summary/Summary.jsx @@ -119,6 +119,9 @@ export const Summary = () => { {profileInfo?.fio || profileInfo?.username},{" "} {profileInfo.specification} разработчик

+
+
Front End
+
Middle+
{!openGit && (