From 7d983ad5a99ee353e48ce5bd67a549403ba371c3 Mon Sep 17 00:00:00 2001 From: "DESKTOP\\derek" Date: Mon, 17 Feb 2025 16:05:58 +0800 Subject: [PATCH 1/2] saturday normal hr --- src/components/DateHoursTable/DateHoursTable.tsx | 11 ++++++++--- src/components/TimeLeaveModal/TimeLeaveModal.tsx | 3 +++ .../UserWorkspacePage/UserWorkspacePage.tsx | 4 ++++ .../UserWorkspacePage/UserWorkspaceWrapper.tsx | 4 ++++ src/config/authConfig.ts | 8 -------- src/middleware.ts | 6 ++++-- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/components/DateHoursTable/DateHoursTable.tsx b/src/components/DateHoursTable/DateHoursTable.tsx index f6d18e2..69a2b15 100644 --- a/src/components/DateHoursTable/DateHoursTable.tsx +++ b/src/components/DateHoursTable/DateHoursTable.tsx @@ -36,6 +36,7 @@ interface Props { EntryTableProps & { day: string; isHoliday: boolean } >; entryTableProps: EntryTableProps; + isSaturdayWorker: boolean } function DateHoursTable({ @@ -45,9 +46,9 @@ function DateHoursTable({ leaveEntries, timesheetEntries, companyHolidays, + isSaturdayWorker, }: Props) { const { t } = useTranslation("home"); - return ( @@ -71,6 +72,7 @@ function DateHoursTable({ timesheetEntries={timesheetEntries} EntryTableComponent={EntryTableComponent} entryTableProps={entryTableProps} + isSaturdayWorker={isSaturdayWorker} /> ); })} @@ -87,6 +89,7 @@ function DayRow({ entryTableProps, EntryTableComponent, companyHolidays, + isSaturdayWorker, }: { day: string; companyHolidays: HolidaysResult[]; @@ -96,16 +99,18 @@ function DayRow({ EntryTableProps & { day: string; isHoliday: boolean } >; entryTableProps: EntryTableProps; + isSaturdayWorker: boolean }) { const { t, i18n: { language }, } = useTranslation("home"); const dayJsObj = dayjs(day); - const [open, setOpen] = useState(false); + const [open, setOpen] = useState(false); const holiday = getHolidayForDate(day, companyHolidays); - const isHoliday = holiday || dayJsObj.day() === 0 || dayJsObj.day() === 6; + const isWeekend = !isSaturdayWorker ? dayJsObj.day() === 0 || dayJsObj.day() === 6 : dayJsObj.day() === 0; + const isHoliday = holiday || isWeekend; const leaves = leaveEntries[day]; const leaveHours = diff --git a/src/components/TimeLeaveModal/TimeLeaveModal.tsx b/src/components/TimeLeaveModal/TimeLeaveModal.tsx index 36aaab9..7aa61ad 100644 --- a/src/components/TimeLeaveModal/TimeLeaveModal.tsx +++ b/src/components/TimeLeaveModal/TimeLeaveModal.tsx @@ -54,6 +54,7 @@ interface Props { isFullTime: boolean; joinDate: Dayjs; miscTasks: Task[]; + isSaturdayWorker: boolean } const modalSx: SxProps = { @@ -81,6 +82,7 @@ const TimeLeaveModal: React.FC = ({ isFullTime, joinDate, miscTasks, + isSaturdayWorker, }) => { const { t } = useTranslation("home"); @@ -227,6 +229,7 @@ const TimeLeaveModal: React.FC = ({ leaveTypes, miscTasks, }} + isSaturdayWorker={isSaturdayWorker} /> {errorComponent} diff --git a/src/components/UserWorkspacePage/UserWorkspacePage.tsx b/src/components/UserWorkspacePage/UserWorkspacePage.tsx index 80a233b..c81d078 100644 --- a/src/components/UserWorkspacePage/UserWorkspacePage.tsx +++ b/src/components/UserWorkspacePage/UserWorkspacePage.tsx @@ -43,6 +43,7 @@ export interface Props { isFullTime: boolean; joinDate?: number | null; miscTasks: Task[]; + isSaturdayWorker: boolean } const menuItemSx: SxProps = { @@ -65,6 +66,7 @@ const UserWorkspacePage: React.FC = ({ isFullTime, joinDate, miscTasks, + isSaturdayWorker }) => { const [anchorEl, setAnchorEl] = useState(null); @@ -183,6 +185,7 @@ const UserWorkspacePage: React.FC = ({ allProjects={allProjects} leaveTypes={leaveTypes} companyHolidays={holidays} + isSaturdayWorker={isSaturdayWorker} /> = ({ isFullTime={isFullTime} joinDate={dayjs(joinDate)} miscTasks={miscTasks} + isSaturdayWorker={isSaturdayWorker} /> { const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5); + const isSaturdayWorker = abilities.includes(SATURDAY_WORKERS) + return ( { maintainManagementStaffWorkspaceAbility={ maintainManagementStaffWorkspaceAbility } + isSaturdayWorker={isSaturdayWorker} /> ); }; diff --git a/src/config/authConfig.ts b/src/config/authConfig.ts index 5e12b22..53e9fba 100644 --- a/src/config/authConfig.ts +++ b/src/config/authConfig.ts @@ -58,14 +58,6 @@ export const authOptions: AuthOptions = { jwt(params) { // Add the data from user to the token const { token, user, account, trigger, session } = params; - // console.log("--------------------------") - // console.log("%c [ token ]:", 'font-size:13px; background:#A888B5; color:#bf2c9f;', token) - // console.log("%c [ user ]:", 'font-size:13px; background:pink; color:#bf2c9f;', user) - // console.log("%c [ account ]:", 'font-size:13px; background:pink; color:#bf2c9f;', account) - // console.log("%c [ session ]:", 'font-size:13px; background:#FFD2A0; color:#bf2c9f;', session) - // console.log("%c [ trigger ]:", 'font-size:13px; background:#EFB6C8; color:#bf2c9f;', trigger) - // console.log(params) - // console.log("--------------------------") if (trigger === "update" && session?.accessToken && session?.refreshToken) { token.accessToken = session.accessToken diff --git a/src/middleware.ts b/src/middleware.ts index 2277652..c2519f5 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -71,7 +71,8 @@ export const [ GENERATE_PROJECT_CASH_FLOW_REPORT, GENERATE_STAFF_MONTHLY_WORK_HOURS_ANALYSIS_REPORT, GENERATE_CROSS_TEAM_CHARGE_REPORT, - VIEW_ALL_PROJECTS + VIEW_ALL_PROJECTS, + SATURDAY_WORKERS ] = [ 'MAINTAIN_USER', 'MAINTAIN_TIMESHEET', @@ -124,7 +125,8 @@ export const [ 'G_PROJECT_CASH_FLOW_REPORT', 'G_STAFF_MONTHLY_WORK_HOURS_ANALYSIS_REPORT', 'G_CROSS_TEAM_CHARGE_REPORT', - 'VIEW_ALL_PROJECTS' + 'VIEW_ALL_PROJECTS', + 'SATURDAY_WORKERS' ] const PRIVATE_ROUTES = [ From 079334de8a6b5e2cb6991edf1a40c5fcc8dddeb4 Mon Sep 17 00:00:00 2001 From: "DESKTOP\\derek" Date: Mon, 17 Feb 2025 16:11:49 +0800 Subject: [PATCH 2/2] Revert "saturday normal hr" This reverts commit 7d983ad5a99ee353e48ce5bd67a549403ba371c3. --- src/components/DateHoursTable/DateHoursTable.tsx | 11 +++-------- src/components/TimeLeaveModal/TimeLeaveModal.tsx | 3 --- .../UserWorkspacePage/UserWorkspacePage.tsx | 4 ---- .../UserWorkspacePage/UserWorkspaceWrapper.tsx | 4 ---- src/config/authConfig.ts | 8 ++++++++ src/middleware.ts | 6 ++---- 6 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/components/DateHoursTable/DateHoursTable.tsx b/src/components/DateHoursTable/DateHoursTable.tsx index 69a2b15..f6d18e2 100644 --- a/src/components/DateHoursTable/DateHoursTable.tsx +++ b/src/components/DateHoursTable/DateHoursTable.tsx @@ -36,7 +36,6 @@ interface Props { EntryTableProps & { day: string; isHoliday: boolean } >; entryTableProps: EntryTableProps; - isSaturdayWorker: boolean } function DateHoursTable({ @@ -46,9 +45,9 @@ function DateHoursTable({ leaveEntries, timesheetEntries, companyHolidays, - isSaturdayWorker, }: Props) { const { t } = useTranslation("home"); + return (
@@ -72,7 +71,6 @@ function DateHoursTable({ timesheetEntries={timesheetEntries} EntryTableComponent={EntryTableComponent} entryTableProps={entryTableProps} - isSaturdayWorker={isSaturdayWorker} /> ); })} @@ -89,7 +87,6 @@ function DayRow({ entryTableProps, EntryTableComponent, companyHolidays, - isSaturdayWorker, }: { day: string; companyHolidays: HolidaysResult[]; @@ -99,18 +96,16 @@ function DayRow({ EntryTableProps & { day: string; isHoliday: boolean } >; entryTableProps: EntryTableProps; - isSaturdayWorker: boolean }) { const { t, i18n: { language }, } = useTranslation("home"); const dayJsObj = dayjs(day); - const [open, setOpen] = useState(false); + const holiday = getHolidayForDate(day, 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 leaves = leaveEntries[day]; const leaveHours = diff --git a/src/components/TimeLeaveModal/TimeLeaveModal.tsx b/src/components/TimeLeaveModal/TimeLeaveModal.tsx index 7aa61ad..36aaab9 100644 --- a/src/components/TimeLeaveModal/TimeLeaveModal.tsx +++ b/src/components/TimeLeaveModal/TimeLeaveModal.tsx @@ -54,7 +54,6 @@ interface Props { isFullTime: boolean; joinDate: Dayjs; miscTasks: Task[]; - isSaturdayWorker: boolean } const modalSx: SxProps = { @@ -82,7 +81,6 @@ const TimeLeaveModal: React.FC = ({ isFullTime, joinDate, miscTasks, - isSaturdayWorker, }) => { const { t } = useTranslation("home"); @@ -229,7 +227,6 @@ const TimeLeaveModal: React.FC = ({ leaveTypes, miscTasks, }} - isSaturdayWorker={isSaturdayWorker} /> {errorComponent} diff --git a/src/components/UserWorkspacePage/UserWorkspacePage.tsx b/src/components/UserWorkspacePage/UserWorkspacePage.tsx index c81d078..80a233b 100644 --- a/src/components/UserWorkspacePage/UserWorkspacePage.tsx +++ b/src/components/UserWorkspacePage/UserWorkspacePage.tsx @@ -43,7 +43,6 @@ export interface Props { isFullTime: boolean; joinDate?: number | null; miscTasks: Task[]; - isSaturdayWorker: boolean } const menuItemSx: SxProps = { @@ -66,7 +65,6 @@ const UserWorkspacePage: React.FC = ({ isFullTime, joinDate, miscTasks, - isSaturdayWorker }) => { const [anchorEl, setAnchorEl] = useState(null); @@ -185,7 +183,6 @@ const UserWorkspacePage: React.FC = ({ allProjects={allProjects} leaveTypes={leaveTypes} companyHolidays={holidays} - isSaturdayWorker={isSaturdayWorker} /> = ({ isFullTime={isFullTime} joinDate={dayjs(joinDate)} miscTasks={miscTasks} - isSaturdayWorker={isSaturdayWorker} /> { const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5); - const isSaturdayWorker = abilities.includes(SATURDAY_WORKERS) - return ( { maintainManagementStaffWorkspaceAbility={ maintainManagementStaffWorkspaceAbility } - isSaturdayWorker={isSaturdayWorker} /> ); }; diff --git a/src/config/authConfig.ts b/src/config/authConfig.ts index 53e9fba..5e12b22 100644 --- a/src/config/authConfig.ts +++ b/src/config/authConfig.ts @@ -58,6 +58,14 @@ export const authOptions: AuthOptions = { jwt(params) { // Add the data from user to the token const { token, user, account, trigger, session } = params; + // console.log("--------------------------") + // console.log("%c [ token ]:", 'font-size:13px; background:#A888B5; color:#bf2c9f;', token) + // console.log("%c [ user ]:", 'font-size:13px; background:pink; color:#bf2c9f;', user) + // console.log("%c [ account ]:", 'font-size:13px; background:pink; color:#bf2c9f;', account) + // console.log("%c [ session ]:", 'font-size:13px; background:#FFD2A0; color:#bf2c9f;', session) + // console.log("%c [ trigger ]:", 'font-size:13px; background:#EFB6C8; color:#bf2c9f;', trigger) + // console.log(params) + // console.log("--------------------------") if (trigger === "update" && session?.accessToken && session?.refreshToken) { token.accessToken = session.accessToken diff --git a/src/middleware.ts b/src/middleware.ts index c2519f5..2277652 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -71,8 +71,7 @@ export const [ GENERATE_PROJECT_CASH_FLOW_REPORT, GENERATE_STAFF_MONTHLY_WORK_HOURS_ANALYSIS_REPORT, GENERATE_CROSS_TEAM_CHARGE_REPORT, - VIEW_ALL_PROJECTS, - SATURDAY_WORKERS + VIEW_ALL_PROJECTS ] = [ 'MAINTAIN_USER', 'MAINTAIN_TIMESHEET', @@ -125,8 +124,7 @@ export const [ 'G_PROJECT_CASH_FLOW_REPORT', 'G_STAFF_MONTHLY_WORK_HOURS_ANALYSIS_REPORT', 'G_CROSS_TEAM_CHARGE_REPORT', - 'VIEW_ALL_PROJECTS', - 'SATURDAY_WORKERS' + 'VIEW_ALL_PROJECTS' ] const PRIVATE_ROUTES = [