| @@ -51,6 +51,8 @@ export interface Props { | |||||
| companyHolidays: HolidaysResult[]; | companyHolidays: HolidaysResult[]; | ||||
| allProjects: ProjectWithTasks[]; | allProjects: ProjectWithTasks[]; | ||||
| miscTasks: Task[]; | miscTasks: Task[]; | ||||
| isSaturdayWorker: boolean; | |||||
| userId: number; | |||||
| } | } | ||||
| type MemberOption = TeamTimeSheets[0] & TeamLeaves[0] & { id: string }; | type MemberOption = TeamTimeSheets[0] & TeamLeaves[0] & { id: string }; | ||||
| @@ -79,6 +81,8 @@ const TimesheetAmendment: React.FC<Props> = ({ | |||||
| allProjects, | allProjects, | ||||
| leaveTypes, | leaveTypes, | ||||
| miscTasks, | miscTasks, | ||||
| isSaturdayWorker, | |||||
| userId | |||||
| }) => { | }) => { | ||||
| const { t, i18n:{language}} = useTranslation(["home", "common"]); | const { t, i18n:{language}} = useTranslation(["home", "common"]); | ||||
| const locale = language === "zh" ? "zh-tw" : "en"; | const locale = language === "zh" ? "zh-tw" : "en"; | ||||
| @@ -121,12 +125,15 @@ const TimesheetAmendment: React.FC<Props> = ({ | |||||
| }, [localTeamLeaves, localTeamTimesheets]); | }, [localTeamLeaves, localTeamTimesheets]); | ||||
| const [selectedStaff, setSelectedStaff] = useState<MemberOption>( | const [selectedStaff, setSelectedStaff] = useState<MemberOption>( | ||||
| allMembers[0], | |||||
| allMembers.find((member) => parseInt(member.id) === userId) ?? allMembers[0] | |||||
| ); | ); | ||||
| useEffect(() => { | useEffect(() => { | ||||
| console.log(allMembers) | |||||
| console.log(userId) | |||||
| setSelectedStaff( | setSelectedStaff( | ||||
| (currentStaff) => | (currentStaff) => | ||||
| allMembers.find((member) => member.id === currentStaff.id) || | allMembers.find((member) => member.id === currentStaff.id) || | ||||
| allMembers.find((member) => parseInt(member.id) === userId) || | |||||
| allMembers[0], | allMembers[0], | ||||
| ); | ); | ||||
| }, [allMembers]); | }, [allMembers]); | ||||
| @@ -38,6 +38,8 @@ export const TimesheetAmendmentModal: React.FC<Props> = ({ | |||||
| companyHolidays, | companyHolidays, | ||||
| allProjects, | allProjects, | ||||
| miscTasks, | miscTasks, | ||||
| isSaturdayWorker, | |||||
| userId | |||||
| }) => { | }) => { | ||||
| const { t } = useTranslation("home"); | const { t } = useTranslation("home"); | ||||
| const isMobile = useIsMobile(); | const isMobile = useIsMobile(); | ||||
| @@ -51,6 +53,8 @@ export const TimesheetAmendmentModal: React.FC<Props> = ({ | |||||
| teamTimesheets={teamTimesheets} | teamTimesheets={teamTimesheets} | ||||
| allProjects={allProjects} | allProjects={allProjects} | ||||
| miscTasks={miscTasks} | miscTasks={miscTasks} | ||||
| isSaturdayWorker={isSaturdayWorker} | |||||
| userId={userId} | |||||
| /> | /> | ||||
| ); | ); | ||||
| @@ -43,6 +43,8 @@ export interface Props { | |||||
| isFullTime: boolean; | isFullTime: boolean; | ||||
| joinDate?: number | null; | joinDate?: number | null; | ||||
| miscTasks: Task[]; | miscTasks: Task[]; | ||||
| isSaturdayWorker: boolean; | |||||
| userId: number; | |||||
| } | } | ||||
| const menuItemSx: SxProps = { | const menuItemSx: SxProps = { | ||||
| @@ -65,6 +67,8 @@ const UserWorkspacePage: React.FC<Props> = ({ | |||||
| isFullTime, | isFullTime, | ||||
| joinDate, | joinDate, | ||||
| miscTasks, | miscTasks, | ||||
| isSaturdayWorker, | |||||
| userId | |||||
| }) => { | }) => { | ||||
| const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null); | const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null); | ||||
| @@ -234,6 +238,8 @@ const UserWorkspacePage: React.FC<Props> = ({ | |||||
| open={isTimesheetAmendmentVisible} | open={isTimesheetAmendmentVisible} | ||||
| onClose={handleAmendmentClose} | onClose={handleAmendmentClose} | ||||
| miscTasks={miscTasks} | miscTasks={miscTasks} | ||||
| isSaturdayWorker={isSaturdayWorker} | |||||
| userId={userId} | |||||
| /> | /> | ||||
| )} | )} | ||||
| </> | </> | ||||
| @@ -59,6 +59,10 @@ const UserWorkspaceWrapper: React.FC = async () => { | |||||
| const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5); | const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5); | ||||
| const isSaturdayWorker = abilities.includes(SATURDAY_WORKERS) | |||||
| console.log(userStaff) | |||||
| return ( | return ( | ||||
| <UserWorkspacePage | <UserWorkspacePage | ||||
| joinDate={userStaff?.joinDate} | joinDate={userStaff?.joinDate} | ||||
| @@ -78,6 +82,8 @@ const UserWorkspaceWrapper: React.FC = async () => { | |||||
| maintainManagementStaffWorkspaceAbility={ | maintainManagementStaffWorkspaceAbility={ | ||||
| maintainManagementStaffWorkspaceAbility | maintainManagementStaffWorkspaceAbility | ||||
| } | } | ||||
| isSaturdayWorker={isSaturdayWorker} | |||||
| userId={userStaff?.id} | |||||
| /> | /> | ||||
| ); | ); | ||||
| }; | }; | ||||