+
+
-
+
-
+
-
-
@@ -222,7 +226,6 @@
@@ -279,4 +282,29 @@
@click-save-yes="onClickSaveBeforeLeaving"
/>
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/modules/timesheets/utils/shift.util.ts b/src/modules/timesheets/utils/shift.util.ts
index 4778cf9..9b93167 100644
--- a/src/modules/timesheets/utils/shift.util.ts
+++ b/src/modules/timesheets/utils/shift.util.ts
@@ -58,25 +58,25 @@ export const getTimeStringFromMinutes = (minutes: number): string => {
}
export const SHIFT_OPTIONS: ShiftOption[] = [
- { label: 'timesheet.shift.types.REGULAR', value: 'REGULAR', icon: 'wb_sunny', icon_color: 'accent' },
- { label: 'timesheet.shift.types.EVENING', value: 'EVENING', icon: 'bedtime', icon_color: 'orange-5' },
- { label: 'timesheet.shift.types.EMERGENCY', value: 'EMERGENCY', icon: 'ring_volume', icon_color: 'red-5' },
- { label: 'timesheet.shift.types.VACATION', value: 'VACATION', icon: 'beach_access', icon_color: 'deep-orange-5' },
- { label: 'timesheet.shift.types.HOLIDAY', value: 'HOLIDAY', icon: 'event', icon_color: 'purple-5' },
- { label: 'timesheet.shift.types.SICK', value: 'SICK', icon: 'medication_liquid', icon_color: 'light-blue-6' },
- // { label: 'timesheet.shift.types.BANKING', value: 'BANKING', icon: 'savings', icon_color: 'pink-3' },
- { label: 'timesheet.shift.types.WITHDRAW_BANKED', value: 'WITHDRAW_BANKED', icon: 'attach_money', icon_color: 'yellow-4' },
+ { label: 'timesheet.shift.types.REGULAR', value: 'REGULAR', icon: 'o_light_mode', icon_color: 'accent' },
+ { label: 'timesheet.shift.types.EVENING', value: 'EVENING', icon: 'o_dark_mode', icon_color: 'orange-5' },
+ { label: 'timesheet.shift.types.EMERGENCY', value: 'EMERGENCY', icon: 'o_warning_amber', icon_color: 'red-5' },
+ { label: 'timesheet.shift.types.VACATION', value: 'VACATION', icon: 'o_flight_takeoff', icon_color: 'deep-orange-5' },
+ { label: 'timesheet.shift.types.HOLIDAY', value: 'HOLIDAY', icon: 'o_celebration', icon_color: 'purple-5' },
+ { label: 'timesheet.shift.types.SICK', value: 'SICK', icon: 'o_medical_services', icon_color: 'light-blue-6' },
+ // { label: 'timesheet.shift.types.BANKING', value: 'BANKING', icon: 'o_savings', icon_color: 'pink-3' },
+ { label: 'timesheet.shift.types.WITHDRAW_BANKED', value: 'WITHDRAW_BANKED', icon: 'o_account_balance_wallet', icon_color: 'yellow-8' },
];
export const getShiftOptions = (disablePTO: boolean, isNotUnique: boolean): ShiftOption[] => {
return [
- { label: 'timesheet.shift.types.REGULAR', value: 'REGULAR', icon: 'wb_sunny', icon_color: 'accent' },
- { label: 'timesheet.shift.types.EVENING', value: 'EVENING', icon: 'bedtime', icon_color: 'orange-5' },
- { label: 'timesheet.shift.types.EMERGENCY', value: 'EMERGENCY', icon: 'ring_volume', icon_color: 'red-5' },
- { label: 'timesheet.shift.types.VACATION', value: 'VACATION', icon: 'beach_access', icon_color: 'deep-orange-5', disable: disablePTO },
- { label: 'timesheet.shift.types.HOLIDAY', value: 'HOLIDAY', icon: 'event', icon_color: 'purple-5', disable: isNotUnique || disablePTO },
- { label: 'timesheet.shift.types.SICK', value: 'SICK', icon: 'medication_liquid', icon_color: 'light-blue-6', disable: disablePTO },
- // { label: 'timesheet.shift.types.BANKING', value: 'BANKING', icon: 'savings', icon_color: 'pink-3' },
- // { label: 'timesheet.shift.types.WITHDRAW_BANKED', value: 'WITHDRAW_BANKED', icon: 'attach_money', icon_color: 'yellow-4' },
+ { label: 'timesheet.shift.types.REGULAR', value: 'REGULAR', icon: 'o_light_mode', icon_color: 'accent' },
+ { label: 'timesheet.shift.types.EVENING', value: 'EVENING', icon: 'o_dark_mode', icon_color: 'orange-5' },
+ { label: 'timesheet.shift.types.EMERGENCY', value: 'EMERGENCY', icon: 'o_warning_amber', icon_color: 'red-5' },
+ { label: 'timesheet.shift.types.VACATION', value: 'VACATION', icon: 'o_flight_takeoff', icon_color: 'deep-orange-5', disable: disablePTO },
+ { label: 'timesheet.shift.types.HOLIDAY', value: 'HOLIDAY', icon: 'o_celebration', icon_color: 'purple-5', disable: isNotUnique || disablePTO },
+ { label: 'timesheet.shift.types.SICK', value: 'SICK', icon: 'o_medical_services', icon_color: 'light-blue-6', disable: disablePTO },
+ // { label: 'timesheet.shift.types.BANKING', value: 'BANKING', icon: 'o_savings', icon_color: 'pink-3' },
+ // { label: 'timesheet.shift.types.WITHDRAW_BANKED', value: 'WITHDRAW_BANKED', icon: 'o_account_balance_wallet', icon_color: 'yellow-8' },
];
}
\ No newline at end of file
diff --git a/src/pages/dashboard-page.vue b/src/pages/dashboard-page.vue
index 9776cc7..81f3194 100644
--- a/src/pages/dashboard-page.vue
+++ b/src/pages/dashboard-page.vue
@@ -30,7 +30,7 @@
@@ -38,7 +38,7 @@
@@ -46,7 +46,7 @@
@@ -54,7 +54,7 @@
@@ -62,7 +62,7 @@
diff --git a/src/pages/timesheet-page.vue b/src/pages/timesheet-page.vue
index 191837f..8682d9f 100644
--- a/src/pages/timesheet-page.vue
+++ b/src/pages/timesheet-page.vue
@@ -4,26 +4,25 @@
>
import PageHeaderTemplate from 'src/modules/shared/components/page-header-template.vue';
import TimesheetWrapper from 'src/modules/timesheets/components/timesheet-wrapper.vue';
-
+
import { useTimesheetStore } from 'src/stores/timesheet-store';
const timesheet_store = useTimesheetStore();
-
+
-
\ No newline at end of file
+
diff --git a/src/stores/auth-store.ts b/src/stores/auth-store.ts
index db573a2..268e567 100644
--- a/src/stores/auth-store.ts
+++ b/src/stores/auth-store.ts
@@ -14,10 +14,18 @@ export const useAuthStore = defineStore('auth', () => {
//TODO: manage customer login process
};
- const oidcLogin = () => {
- window.addEventListener('message', (event) => {
- void handleAuthMessage(event);
- });
+ const oidcLogin = async () => {
+ // DEV: try direct profile fetch first (works when backend has DEV_BYPASS_AUTH)
+ try {
+ const result = await getProfile();
+ if (result.status === 200 && user.value) {
+ void router.push('/');
+ return;
+ }
+ } catch (e) { console.warn('DEV bypass login failed, falling back to OIDC:', e); }
+
+ // Normal OIDC popup flow
+ window.addEventListener('message', (event) => void handleAuthMessage(event));
const oidc_popup = window.open(`${import.meta.env.VITE_TARGO_BACKEND_URL}auth/v1/login`, 'authPopup', 'width=600,height=800');