From 0c1d21442049e0b1d30d63bddedb403940ea357c Mon Sep 17 00:00:00 2001 From: Nicolas Drolet Date: Tue, 19 Aug 2025 16:49:49 -0400 Subject: [PATCH 1/4] refactor(approvals): fully overhaul timesheet approvals to work with backend, begin to implement approval logic. --- src/i18n/en-ca/index.ts | 3 + src/i18n/fr-ca/index.ts | 3 + src/modules/auth/composables/use-auth-api.ts | 5 +- src/modules/auth/pages/auth-login.vue | 11 +- .../supervisor/supervisor-crew-table.vue | 64 +++-- .../components/navigation/right-drawer.vue | 45 ++-- ...t-approval-employee-overview-list-item.vue | 53 ++++ ...esheet-approval-employee-overview-list.vue | 102 ++++---- .../composables/use-timesheet-approval-api.ts | 13 + .../services/services-timesheet-approval.ts | 18 +- .../timesheet-approval-test-constants.ts | 38 +-- ...-pay-period-employee-overview-interface.ts | 2 +- ...-approval-pay-period-overview-interface.ts | 11 +- src/stores/auth-store.ts | 28 ++- src/stores/timesheet-store.ts | 229 ++---------------- src/utils/has-required-role.ts | 7 - src/utils/pay-period-calculator.ts | 16 ++ 17 files changed, 275 insertions(+), 373 deletions(-) create mode 100644 src/modules/timesheet-approval/composables/use-timesheet-approval-api.ts delete mode 100644 src/utils/has-required-role.ts create mode 100644 src/utils/pay-period-calculator.ts diff --git a/src/i18n/en-ca/index.ts b/src/i18n/en-ca/index.ts index 1c592ed..34868c8 100644 --- a/src/i18n/en-ca/index.ts +++ b/src/i18n/en-ca/index.ts @@ -159,6 +159,9 @@ export default { }, shared:{ searchBar: 'Search', + loading: 'Obtaining data...', + failedToLoad: 'No data to show', + failedToSearch: 'No data matching search', }, editUserPage: { title: 'Edit Account', diff --git a/src/i18n/fr-ca/index.ts b/src/i18n/fr-ca/index.ts index 59dfd5b..e489482 100644 --- a/src/i18n/fr-ca/index.ts +++ b/src/i18n/fr-ca/index.ts @@ -228,6 +228,9 @@ export default { }, shared:{ searchBar: 'Rechercher', + loading: 'Téléchargement des données en cours...', + failedToLoad: 'Aucune donnée à afficher', + failedToSearch: 'Aucun résultat de recherche obtenu', }, shiftColumns: { title: 'Quarts de travail', diff --git a/src/modules/auth/composables/use-auth-api.ts b/src/modules/auth/composables/use-auth-api.ts index 8a7b8c2..719fe01 100644 --- a/src/modules/auth/composables/use-auth-api.ts +++ b/src/modules/auth/composables/use-auth-api.ts @@ -1,5 +1,4 @@ import { useAuthStore } from "../../../stores/auth-store"; -import type { User } from "src/modules/shared/types/user-interface"; export const useAuthApi = () => { const authStore = useAuthStore(); @@ -22,8 +21,8 @@ export const useAuthApi = () => { return authStore.isAuthorizedUser; }; - const setUser = (currentUser: User) => { - authStore.user = currentUser; + const setUser = (bypassRole: string) => { + authStore.setUser(bypassRole); } return { diff --git a/src/modules/auth/pages/auth-login.vue b/src/modules/auth/pages/auth-login.vue index d08ca9d..982deea 100644 --- a/src/modules/auth/pages/auth-login.vue +++ b/src/modules/auth/pages/auth-login.vue @@ -1,10 +1,8 @@