112 lines
5.2 KiB
TypeScript
112 lines
5.2 KiB
TypeScript
import { RouteNames } from "src/router/router-constants";
|
|
|
|
export interface ChatbotPageContext {
|
|
name: string;
|
|
description: string;
|
|
features: string[];
|
|
path: RouteNames | null;
|
|
}
|
|
|
|
export const dashboardContext: ChatbotPageContext = {
|
|
name: "Dashboard",
|
|
description: "Landing page containing useful links and a carousel showcasing recent news, as well as a local weather widget in the top right corner",
|
|
features: [
|
|
"Used as a landing platform and navigate the left drawer",
|
|
"Access the AI chatbot from the header",
|
|
"Access common external tools using the links below the news Carousel",
|
|
],
|
|
path: RouteNames.DASHBOARD,
|
|
};
|
|
|
|
export const leftDrawerContext: ChatbotPageContext = {
|
|
name: "Left Drawer",
|
|
description: "A drawer that acts as a navigation bar, routes to different parts of the website. Some icons will be hidden according to user access",
|
|
features: [
|
|
"The user can navigate to the home page.",
|
|
"Can review and approve timesheets. requires access to timesheet_approval module.",
|
|
"By default, the user can see the full list of employees. Requires user_management module access to edit, add, or view detailed profiles.",
|
|
"Can access the timesheet interface to input employee hours.",
|
|
"Can access your user profile to view information or change your UI preferences (light/dark mode and display language)",
|
|
"Can access the Help page to view common Q&A regarding different modules",
|
|
"Can logout",
|
|
],
|
|
path: null,
|
|
};
|
|
|
|
export const profileContext: ChatbotPageContext = {
|
|
name: "Profile",
|
|
description: "Display and edit user information",
|
|
features: [
|
|
"View personal information such as first and last name, phone, birthdate and address.",
|
|
"View Career information such as job title, company, supervisor, email and hiring date.",
|
|
"Edit available preferences such as Display options of light and dark mode, as well as display language",
|
|
],
|
|
path: RouteNames.PROFILE,
|
|
};
|
|
|
|
export const employeeListContext: ChatbotPageContext = {
|
|
name: "Employee List",
|
|
description: "View all the hired and currently active Staff",
|
|
features: [
|
|
"View the list of hired and active employees",
|
|
"Access an individual employee's detailed profile if user has user_management module access",
|
|
"Add, edit, or remove an employee if user has user_management module access",
|
|
"Add, edit, or remove module access for any given employee if user has user_managmenet module access",
|
|
"Add, edit, or remove schedule presets and assign those presets to employees. These presets can then be applied to the employee's timesheet with a single click. Requires user_management module access."
|
|
],
|
|
path: RouteNames.EMPLOYEE_LIST,
|
|
};
|
|
|
|
export const timesheetApprovalContext: ChatbotPageContext = {
|
|
name: "Timesheet Approval",
|
|
description: "Page where employee hours and shifts are approved for accounting purposes. Requires timesheet_approval module access.",
|
|
features: [
|
|
"See a grid or list view of total hours for all employees in the given 2-week pay period.",
|
|
"Access different periods thanks to the pay period navigator buttons (previous, next, date picker)",
|
|
"Approve the hours for the cards displayed.",
|
|
"Open a detailed dialog window for any employee",
|
|
"The detailed dialog window includes bar and circle charts to visually see employee hours worked daily, the type of shifts worked, and expenses accrued",
|
|
"The detailed dialog window allows the user to edit the any employee's timesheets or expenses",
|
|
],
|
|
path: RouteNames.TIMESHEET_APPROVALS,
|
|
};
|
|
|
|
export const timesheetContext: ChatbotPageContext = {
|
|
name: "Timesheet",
|
|
description:
|
|
"Page where an employee can enter their hours for their day and week. Display in 2-week pay periods.",
|
|
features: [
|
|
"Enter your in and out times per day",
|
|
"Add and edit what kind of hours your shift was example regular, overtime, vacation etc.",
|
|
"Edit your own shift hours",
|
|
"Delete your shift hours",
|
|
"List your expenses for the week",
|
|
"Add expenses for the week, along with attached files for said expenses",
|
|
],
|
|
path: RouteNames.TIMESHEET,
|
|
};
|
|
|
|
export const helpContext: ChatbotPageContext = {
|
|
name: "Help",
|
|
description: "page containing common Q&A segments regarding website functionalities",
|
|
features: [
|
|
"Browse by module for common questions and answers",
|
|
"The modules displayed will only be those the user has access to.",
|
|
"Each module consists of a series of Expanding Items. Clicking on a question item reveals the answer beneath.",
|
|
"Each Expanding Item also has its own support image that appears next to the items.",
|
|
],
|
|
path: RouteNames.HELP,
|
|
}
|
|
|
|
export const PageContexts: Record<RouteNames, ChatbotPageContext | null> = {
|
|
"login": null,
|
|
"login-success": null,
|
|
"error": null,
|
|
"/": dashboardContext,
|
|
"employees": employeeListContext,
|
|
"profile": profileContext,
|
|
"timesheet": timesheetContext,
|
|
"timesheet-approvals": timesheetApprovalContext,
|
|
"help": helpContext,
|
|
}
|