|
|
@@ -51,7 +51,8 @@ export interface Props { |
|
|
|
companyHolidays: HolidaysResult[]; |
|
|
|
allProjects: ProjectWithTasks[]; |
|
|
|
miscTasks: Task[]; |
|
|
|
isSaturdayWorker: boolean |
|
|
|
isSaturdayWorker: boolean; |
|
|
|
userId: number; |
|
|
|
} |
|
|
|
|
|
|
|
type MemberOption = TeamTimeSheets[0] & TeamLeaves[0] & { id: string }; |
|
|
@@ -80,7 +81,8 @@ const TimesheetAmendment: React.FC<Props> = ({ |
|
|
|
allProjects, |
|
|
|
leaveTypes, |
|
|
|
miscTasks, |
|
|
|
isSaturdayWorker |
|
|
|
isSaturdayWorker, |
|
|
|
userId |
|
|
|
}) => { |
|
|
|
const { t, i18n:{language}} = useTranslation(["home", "common"]); |
|
|
|
const locale = language === "zh" ? "zh-tw" : "en"; |
|
|
@@ -119,16 +121,19 @@ const TimesheetAmendment: React.FC<Props> = ({ |
|
|
|
}); |
|
|
|
}, |
|
|
|
[], |
|
|
|
).sort((a, b) => a.staffId.localeCompare(b.staffId)); |
|
|
|
); |
|
|
|
}, [localTeamLeaves, localTeamTimesheets]); |
|
|
|
|
|
|
|
const [selectedStaff, setSelectedStaff] = useState<MemberOption>( |
|
|
|
allMembers[0], |
|
|
|
allMembers.find((member) => parseInt(member.id) === userId) ?? allMembers[0] |
|
|
|
); |
|
|
|
useEffect(() => { |
|
|
|
console.log(allMembers) |
|
|
|
console.log(userId) |
|
|
|
setSelectedStaff( |
|
|
|
(currentStaff) => |
|
|
|
allMembers.find((member) => member.id === currentStaff.id) || |
|
|
|
allMembers.find((member) => parseInt(member.id) === userId) || |
|
|
|
allMembers[0], |
|
|
|
); |
|
|
|
}, [allMembers]); |
|
|
@@ -308,8 +313,7 @@ const TimesheetAmendment: React.FC<Props> = ({ |
|
|
|
({ event }: EventClickArg) => { |
|
|
|
const dayJsObj = dayjs(event.startStr); |
|
|
|
const holiday = getHolidayForDate(event.startStr, companyHolidays); |
|
|
|
const isWeekend = !isSaturdayWorker ? dayJsObj.day() === 0 || dayJsObj.day() === 6 : dayJsObj.day() === 0; |
|
|
|
const isHoliday = holiday || isWeekend; |
|
|
|
const isHoliday = holiday || dayJsObj.day() === 0 || dayJsObj.day() === 6; |
|
|
|
|
|
|
|
if ( |
|
|
|
event.extendedProps.calendar === "timeEntry" && |
|
|
@@ -338,8 +342,7 @@ const TimesheetAmendment: React.FC<Props> = ({ |
|
|
|
(e: { dateStr: string; dayEl: HTMLElement }) => { |
|
|
|
const dayJsObj = dayjs(e.dateStr); |
|
|
|
const holiday = getHolidayForDate(e.dateStr, companyHolidays); |
|
|
|
const isWeekend = !isSaturdayWorker ? dayJsObj.day() === 0 || dayJsObj.day() === 6 : dayJsObj.day() === 0; |
|
|
|
const isHoliday = holiday || isWeekend; |
|
|
|
const isHoliday = holiday || dayJsObj.day() === 0 || dayJsObj.day() === 6; |
|
|
|
setSelectedDateInfo({ |
|
|
|
dateStr: e.dateStr, |
|
|
|
isHoliday: Boolean(isHoliday), |
|
|
@@ -356,8 +359,7 @@ const TimesheetAmendment: React.FC<Props> = ({ |
|
|
|
} |
|
|
|
const dayJsObj = dayjs(date); |
|
|
|
const holiday = getHolidayForDate(date, companyHolidays); |
|
|
|
const isWeekend = !isSaturdayWorker ? dayJsObj.day() === 0 || dayJsObj.day() === 6 : dayJsObj.day() === 0; |
|
|
|
const isHoliday = holiday || isWeekend; |
|
|
|
const isHoliday = holiday || dayJsObj.day() === 0 || dayJsObj.day() === 6; |
|
|
|
|
|
|
|
const intStaffId = parseInt(selectedStaff.id); |
|
|
|
const leaves = localTeamLeaves[intStaffId].leaveEntries[date] || []; |
|
|
|