diff --git a/src/i18n/en-ca/index.ts b/src/i18n/en-ca/index.ts index ab923ec..58909a6 100644 --- a/src/i18n/en-ca/index.ts +++ b/src/i18n/en-ca/index.ts @@ -373,6 +373,7 @@ export default { delete: "has deleted", expense: "an expense", shift: "a shift", + preset: "many shifts", }, print_report: { title: "Download options", diff --git a/src/i18n/fr-ca/index.ts b/src/i18n/fr-ca/index.ts index 2403e5e..27d8ff3 100644 --- a/src/i18n/fr-ca/index.ts +++ b/src/i18n/fr-ca/index.ts @@ -373,6 +373,7 @@ export default { delete: "a supprimé", expense: "une dépense", shift: " un quart de travail", + preset: "plusieurs quarts de travail", }, print_report: { title: "options de téléchargement", diff --git a/src/modules/timesheet-approval/models/pay-period-event.models.ts b/src/modules/timesheet-approval/models/pay-period-event.models.ts new file mode 100644 index 0000000..80e03cd --- /dev/null +++ b/src/modules/timesheet-approval/models/pay-period-event.models.ts @@ -0,0 +1,5 @@ +export interface PayPeriodEvent { + employee_email: string; + event_type: 'shift' | 'expense' | 'preset'; + action: 'create' | 'update' | 'delete'; +} \ No newline at end of file diff --git a/src/modules/timesheet-approval/services/timesheet-approval-service.ts b/src/modules/timesheet-approval/services/timesheet-approval-service.ts index 1e9607e..34416f0 100644 --- a/src/modules/timesheet-approval/services/timesheet-approval-service.ts +++ b/src/modules/timesheet-approval/services/timesheet-approval-service.ts @@ -20,6 +20,6 @@ export const timesheetApprovalService = { }, subscribeToPayPeriodObservable: (): EventSource => { - return new EventSource('pay-periods/subscribe') + return new EventSource('http://localhost:3000/pay-periods/subscribe'); }, }; \ No newline at end of file diff --git a/src/pages/timesheet-approval-page.vue b/src/pages/timesheet-approval-page.vue index 5677750..947c41c 100644 --- a/src/pages/timesheet-approval-page.vue +++ b/src/pages/timesheet-approval-page.vue @@ -9,7 +9,7 @@ import OverviewReport from 'src/modules/timesheet-approval/components/overview-report.vue'; import { date } from 'quasar'; - import { computed, onMounted, ref } from 'vue'; + import { computed, onMounted, onUnmounted, ref } from 'vue'; import { useTimesheetApprovalApi } from 'src/modules/timesheet-approval/composables/use-timesheet-approval-api'; import { useTimesheetStore } from 'src/stores/timesheet-store'; @@ -28,7 +28,12 @@ onMounted(async () => { await timesheet_approval_api.getTimesheetOverviewsByDate(date.formatDate(new Date(), 'YYYY-MM-DD')); + timesheet_store.subscribeToPayPeriodObservable(); }); + + onUnmounted(() => { + timesheet_store.unsubscribeToPayPeriodObservable(); + })