@@ -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} | |||||
/> | /> | ||||
); | ); | ||||
}; | }; | ||||