From cf111c344a2e968e2062646d4f2444414899b5ee Mon Sep 17 00:00:00 2001 From: semantics Date: Sun, 17 Dec 2023 21:45:22 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B4=D0=B0=D1=82=D1=83=20=D0=BD=D0=B0=D0=B9?= =?UTF-8?q?=D0=BC=D0=B0=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapMenu/EmployeeMap/EmployeeMap.tsx | 11 ++--- frontend/src/components/mapMenu/MapMenu.tsx | 7 --- .../UIMapMenu/UserProfile/UserInfo.tsx | 48 +++++++++++++------ .../UIMapMenu/UserProfile/UserProfile.tsx | 9 ++-- .../UserProfile/UserProfileModalBody.tsx | 15 ++---- frontend/src/types/EmployeeType.ts | 12 +++++ 6 files changed, 59 insertions(+), 43 deletions(-) create mode 100644 frontend/src/types/EmployeeType.ts diff --git a/frontend/src/components/mapMenu/EmployeeMap/EmployeeMap.tsx b/frontend/src/components/mapMenu/EmployeeMap/EmployeeMap.tsx index 01c9aa2..ea718d4 100644 --- a/frontend/src/components/mapMenu/EmployeeMap/EmployeeMap.tsx +++ b/frontend/src/components/mapMenu/EmployeeMap/EmployeeMap.tsx @@ -16,22 +16,22 @@ import levelStore from "../../../store/levelStore.ts"; import {IUserType} from "../../../types/UserType.ts"; import axios from "axios"; import Starfield from "react-starfield"; +import {IEmployeeType} from "../../../types/EmployeeType.ts"; interface IEmployeeMap { user?: IUserType, - formattedDate: string, logOut: () => void } -const EmployeeMap: React.FC = observer(({user, formattedDate, logOut}) => { +const EmployeeMap: React.FC = observer(({user, logOut}) => { const [isLoading, setIsLoading] = useState(true) - const [employee, setEmployee] = useState(null) + const [employee, setEmployee] = useState() useEffect(() => { // console.log(user) axios.get("http://localhost:8000/employees").then((r) => { - r.data.map((employee) => { + r.data.map((employee: IEmployeeType) => { if (user?.id === employee.user.id) { setEmployee(employee) setIsLoading(false) @@ -80,8 +80,7 @@ const EmployeeMap: React.FC = observer(({user, formattedDate, logO /> { const navigate = useNavigate() const [user, setUser] = useState() - const [formattedDate, setFormattedDate] = useState("") const [isLoading, setIsLoading] = useState(true) useEffect(() => { @@ -32,11 +31,6 @@ const MapMenu: React.FC = observer(() => { } }) superUserStore.setAllUsers(response.data) - - if (user) { - const date = new Date(Date.parse(user!.registered_at)) - setFormattedDate(`${date.getDay()}.${date.getMonth()}.${date.getUTCFullYear()}`) - } setIsLoading(false) }) }, []) @@ -67,7 +61,6 @@ const MapMenu: React.FC = observer(() => { : ) } diff --git a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserInfo.tsx b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserInfo.tsx index a03f082..d915473 100644 --- a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserInfo.tsx +++ b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserInfo.tsx @@ -1,27 +1,45 @@ -import React from 'react'; +import React, {useEffect, useState} from 'react'; import CustomInput from "../../../../UIComponents/customInput/CustomInput.tsx"; -import {IUserType} from "../../../../types/UserType.ts"; +import {IEmployeeType} from "../../../../types/EmployeeType.ts"; interface IPropTypes { - user: IUserType | undefined, - formattedDate: string, + employee: IEmployeeType | undefined, } -const UserInfo: React.FC = ({user, formattedDate}) => { +const UserInfo: React.FC = ({employee}) => { return (
- Фото профиля
- - - + + + +
); diff --git a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfile.tsx b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfile.tsx index e54f52c..7eeb6b9 100644 --- a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfile.tsx +++ b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfile.tsx @@ -2,15 +2,14 @@ import React, {useState} from 'react'; import ModalWindow from "../../../../UIComponents/modalWindow/ModalWindow.tsx"; import UserProfileModalBody from "./UserProfileModalBody.tsx"; import "./userProfileModalBody.scss" -import {IUserType} from "../../../../types/UserType.ts"; +import {IEmployeeType} from "../../../../types/EmployeeType.ts"; interface IPropTypes { - user?: IUserType, - formattedDate: string, + employee?: IEmployeeType, logOut: () => void } -const UserProfile: React.FC = ({user, formattedDate, logOut}) => { +const UserProfile: React.FC = ({employee, logOut}) => { const [isModalOpen, setIsModalOpen] = useState(false) return ( @@ -30,7 +29,7 @@ const UserProfile: React.FC = ({user, formattedDate, logOut}) => { - {isModalOpen && setIsModalOpen(!isModalOpen)} body={}/>} + {isModalOpen && setIsModalOpen(!isModalOpen)} body={}/>} ); }; diff --git a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfileModalBody.tsx b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfileModalBody.tsx index d143700..d381e04 100644 --- a/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfileModalBody.tsx +++ b/frontend/src/components/mapMenu/UIMapMenu/UserProfile/UserProfileModalBody.tsx @@ -1,31 +1,26 @@ -import React, {useCallback, useEffect} from 'react'; -import {IUserType} from "../../../../types/UserType.ts"; +import React, {useCallback} from 'react'; import {IAchievementType} from "../../../../types/AchievementType.ts"; import Achievements from "./Achievements/Achievements.tsx"; import UserInfo from "./UserInfo.tsx"; import CustomButton from "../../../../UIComponents/customButton/CustomButton.tsx"; +import {IEmployeeType} from "../../../../types/EmployeeType.ts"; interface IUserProfileModalProps { img?: string - user?: IUserType, - formattedDate: string, + employee?: IEmployeeType, logOut?: () => void } -const UserProfileModalBody: React.FC = ({user, formattedDate, logOut}) => { +const UserProfileModalBody: React.FC = ({employee, logOut}) => { const achievements: IAchievementType[] = [ {id: "1", title: "Начало работы", description: "Описание 1"}, {id: "2", title: "Середина работы ", description: "Описание 2"}, {id: "3", title: "Конец работы ", description: "Описание 3"} ] - useEffect(() => { - console.log(user) - }, [user]) - const handleOnLogOut = useCallback(() => { logOut ? logOut() : null }, []) @@ -39,7 +34,7 @@ const UserProfileModalBody: React.FC = ({user, formatted : null } - + ); diff --git a/frontend/src/types/EmployeeType.ts b/frontend/src/types/EmployeeType.ts new file mode 100644 index 0000000..af501bf --- /dev/null +++ b/frontend/src/types/EmployeeType.ts @@ -0,0 +1,12 @@ +import {IUserType} from "./UserType.ts"; + +export interface IEmployeeType { + tutor_id: string, + name: string, + last_name: string, + hired_at: string, + patronymic: string + coins: number, + id: string, + user: IUserType +}