BREAKING(help-page): commit breaking codes to switch branch

This commit is contained in:
Matthieu Haineault 2025-12-22 14:35:45 -05:00
parent dd36bcbf46
commit c40156adbd
4 changed files with 54 additions and 45 deletions

View File

@ -7,8 +7,8 @@ import default_employee_list from 'src/assets/help-ss/default-employee-list.png'
import default_employee_management from 'src/assets/help-ss/default-employee-management.png'; import default_employee_management from 'src/assets/help-ss/default-employee-management.png';
import default_validation_page from 'src/assets/help-ss/default-validation-page.png'; import default_validation_page from 'src/assets/help-ss/default-validation-page.png';
const default_images: Record<HelpModuleKey, string> = { const default_images: Record<ModuleAccessName, string> = {
// dashboard: default_dashboard, dashboard: '',
personal_profile: default_personal_profile, personal_profile: default_personal_profile,
timesheets: default_timesheet, timesheets: default_timesheet,
employee_list: default_employee_list, employee_list: default_employee_list,
@ -16,11 +16,12 @@ const default_images: Record<HelpModuleKey, string> = {
timesheets_approval: default_validation_page, timesheets_approval: default_validation_page,
}; };
import type { HelpModuleKey, HelpModuleOptions } from 'src/modules/help/models/help-module.model'; import type { HelpModuleOptions } from 'src/modules/help/models/help-module.model';
import { ref } from 'vue'; import { ref } from 'vue';
import { ModuleAccessName } from 'src/modules/employee-list/models/employee-profile.models';
const props = defineProps<{ const props = defineProps<{
help_module: HelpModuleKey; help_module: ModuleAccessName;
options: HelpModuleOptions[]; options: HelpModuleOptions[];
moduleIndex: number; moduleIndex: number;
}>(); }>();

View File

@ -1,10 +1,10 @@
export type HelpModuleKey = // export type HelpModuleKey =
// | 'dashboard' // // | 'dashboard'
| 'personal_profile' // | 'personal_profile'
| 'timesheets' // | 'timesheets'
| 'employee_list' // | 'employee_list'
| 'employee_management' // | 'employee_management'
| 'timesheets_approval'; // | 'timesheets_approval';
export type HelpModuleOptions = { export type HelpModuleOptions = {
label: string; label: string;
@ -13,8 +13,9 @@ export type HelpModuleOptions = {
icon: string; icon: string;
}; };
export type Options = Record<HelpModuleKey, HelpModuleOptions[]>; export type Options = Record<ModuleAccessName, HelpModuleOptions[]>;
export type PartialOptions = Partial<Record<HelpModuleKey, HelpModuleOptions[]>>; export type PartialOptions = Partial<Record<ModuleAccessName, HelpModuleOptions[]>>;
//Shared images and descriptions //Shared images and descriptions
@ -125,6 +126,7 @@ import comment_expense from 'src/assets/help-ss/timesheet-details.png';
import timesheet_approval_inspect from 'src/assets/help-ss/timesheet-approvals.png'; import timesheet_approval_inspect from 'src/assets/help-ss/timesheet-approvals.png';
import timesheet_details from 'src/assets/help-ss/timesheet-details.png'; import timesheet_details from 'src/assets/help-ss/timesheet-details.png';
import timesheet_approval_list from 'src/assets/help-ss/timesheet-appovals-list.png'; import timesheet_approval_list from 'src/assets/help-ss/timesheet-appovals-list.png';
import { ModuleAccessName } from 'src/modules/employee-list/models/employee-profile.models';
const comment_expense_desc = "descriptions.timesheets_approval.comment_expense"; const comment_expense_desc = "descriptions.timesheets_approval.comment_expense";
const timesheets_approval_desc = "descriptions.timesheets_approval.approval"; const timesheets_approval_desc = "descriptions.timesheets_approval.approval";
@ -142,6 +144,14 @@ export const timesheets_approval_options: HelpModuleOptions[] = [
export const help_module_details: Options = {
dashboard: [],
personal_profile: profile_options,
timesheets: timesheets_options,
employee_list: employee_list_options,
employee_management: employee_management_options,
timesheets_approval: timesheets_approval_options,
};

View File

@ -1,10 +1,10 @@
import { api } from "src/boot/axios"; import { api } from "src/boot/axios";
import type { HelpModuleKey } from "src/modules/help/models/help-module.model"; import { ModuleAccessName } from "src/modules/employee-list/models/employee-profile.models";
import type { BackendResponse } from "src/modules/shared/models/backend-response.models"; import type { BackendResponse } from "src/modules/shared/models/backend-response.models";
export const HelpService = { export const HelpService = {
getHelpModules: async (): Promise<BackendResponse<HelpModuleKey[]>> => { getHelpModules: async (): Promise<BackendResponse<ModuleAccessName[]>> => {
const response = await api.get<BackendResponse<HelpModuleKey[]>>(`/help`); const response = await api.get<BackendResponse<ModuleAccessName[]>>(`/help`);
return response.data; return response.data;
} }
} }

View File

@ -1,58 +1,56 @@
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { computed, ref } from "vue"; import { computed, ref } from "vue";
import { HelpService } from "src/modules/help/services/help.service"; import { HelpService } from "src/modules/help/services/help.service";
import { profile_options, timesheets_options, employee_list_options, employee_management_options, timesheets_approval_options } from "src/modules/help/models/help-module.model"; import { help_module_details } from "src/modules/help/models/help-module.model";
import type { Options, HelpModuleKey, HelpModuleOptions } from "src/modules/help/models/help-module.model"; import type { HelpModuleOptions } from "src/modules/help/models/help-module.model";
import { ModuleAccessName } from "src/modules/employee-list/models/employee-profile.models";
import { useAuthStore } from "src/stores/auth-store";
export const useHelpStore = defineStore('help', () => { export const useHelpStore = defineStore('help', () => {
const is_loading = ref(false); const is_loading = ref(false);
const help_modules = ref<HelpModuleKey[]>([]); const auth_store = useAuthStore();
const help_module_details = ref<Options>({ const getFilteredModule = () => {
// dashboard: dashboard_options,
personal_profile: profile_options,
timesheets: timesheets_options,
employee_list: employee_list_options,
employee_management: employee_management_options,
timesheets_approval: timesheets_approval_options,
});
const help_module_filters = computed<Record<HelpModuleKey, HelpModuleOptions[]>>(() => { }
<Record<ModuleAccessName, HelpModuleOptions[]>>(() => {
const entries = help_modules.value const entries = help_modules.value
.map((key) => { .map((key) => {
const options = help_module_details.value[key]; const options = help_module_details[key];
return options ? ([key, options] as const) : null; return options ? ([key, options] as const) : null;
}) })
.filter( .filter(
(entry): entry is readonly [HelpModuleKey, HelpModuleOptions[]] => (entry): entry is readonly [ModuleAccessName, HelpModuleOptions[]] =>
entry !== null entry !== null
); );
return Object.fromEntries(entries) as Record<HelpModuleKey, HelpModuleOptions[]>; return Object.fromEntries(entries) as Record<ModuleAccessName, HelpModuleOptions[]>;
}); });
const getHelpModules = async (): Promise<boolean> => { // const getHelpModules = async (): Promise<boolean> => {
is_loading.value = true; // is_loading.value = true;
try { // try {
const response = await HelpService.getHelpModules(); // const response = await HelpService.getHelpModules();
if (response.success && response.data) help_modules.value = response.data; // if (response.success && response.data) help_modules.value = response.data;
return response.success; // return response.success;
} catch (error) { // } catch (error) {
console.error('An error occured while fetching Help modules', error); // console.error('An error occured while fetching Help modules', error);
return false; // return false;
} finally { // } finally {
is_loading.value = false; // is_loading.value = false;
} // }
}; // };
return { return {
is_loading, is_loading,
help_modules, help_modules,
help_module_details, help_module_details,
help_module_filters, help_module_filters,
getHelpModules, // getHelpModules,
}; };
}); });