diff --git a/frontend/src/components/layout/Navbar.vue b/frontend/src/components/layout/Navbar.vue index 255cb834..aed18ad9 100644 --- a/frontend/src/components/layout/Navbar.vue +++ b/frontend/src/components/layout/Navbar.vue @@ -3,6 +3,8 @@ import { onMounted, ref } from 'vue'; import { Menubar } from '@/lib/primevue'; import { Permissions, default as PermissionService } from '@/services/permissionService'; +import { PCNS_CONTACT } from '@/utils/constants/application'; +import { HOUSING_CONTACT } from '@/utils/constants/housing'; import { RouteName } from '@/utils/enums/application'; import type { Ref } from 'vue'; @@ -14,6 +16,7 @@ type NavItem = { public?: boolean; access?: string; items?: Array; + mailTo?: string; }; // State @@ -67,6 +70,27 @@ onMounted(() => { label: 'Developer', route: RouteName.DEVELOPER, access: Permissions.NAVIGATION_DEVELOPER + }, + { + label: 'Help', + items: [ + { + label: 'Contact a Navigator', + mailTo: `mailto:${HOUSING_CONTACT.email}?subject=${HOUSING_CONTACT.subject}`, + access: Permissions.NAVIGATION_HOUSING_INTAKE + }, + { + label: 'Report a problem', + mailTo: `mailto:${PCNS_CONTACT.email}?subject=${PCNS_CONTACT.subject}`, + public: true + }, + { + label: 'User Guide', + route: RouteName.HOUSING_GUIDE, + access: Permissions.NAVIGATION_HOUSING_INTAKE + } + ], + public: true } ]; }); @@ -91,6 +115,13 @@ onMounted(() => { {{ item.label }} + + {{ item.label }} + { border-radius: 0; } + .mail-link { + padding: 0.5rem 0.8rem 0.7rem 0.8rem; + &:hover { + background-color: #5a7da9; + } + } + ul { display: flex; flex-direction: row; diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 2fa1ce73..d2594fee 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -105,6 +105,12 @@ const routes: Array = [ meta: { access: [Permissions.NAVIGATION_HOUSING_SUBMISSIONS, Permissions.NAVIGATION_HOUSING_SUBMISSIONS_SUB] } + }, + { + path: '/guide', + name: RouteName.HOUSING_GUIDE, + component: () => import('@/views/ComingSoon.vue'), + meta: { access: Permissions.NAVIGATION_HOUSING } } ] }, diff --git a/frontend/src/utils/constants/application.ts b/frontend/src/utils/constants/application.ts index 96d76615..09e73932 100644 --- a/frontend/src/utils/constants/application.ts +++ b/frontend/src/utils/constants/application.ts @@ -15,6 +15,11 @@ export const ACCESS_ROLES_LIST = [ export const DELIMITER = '/'; +export const PCNS_CONTACT = { + email: 'NRM.PermittingAndData@gov.bc.ca', + subject: 'Reporting an Issue with PCNS' +}; + export const SYSTEM_USER = NIL; export const YES_NO_LIST = [BasicResponse.YES, BasicResponse.NO]; diff --git a/frontend/src/utils/constants/housing.ts b/frontend/src/utils/constants/housing.ts index d71fd1eb..dff5bf9c 100644 --- a/frontend/src/utils/constants/housing.ts +++ b/frontend/src/utils/constants/housing.ts @@ -51,6 +51,11 @@ export const ENQUIRY_TYPE_LIST = [ SubmissionType.INAPPLICABLE ]; +export const HOUSING_CONTACT = { + email: 'Housing.Authorizations@gov.bc.ca', + subject: 'Assistance with Permit Connect Navigator Service' +}; + export const INTAKE_STATUS_LIST = [IntakeStatus.SUBMITTED, IntakeStatus.ASSIGNED, IntakeStatus.COMPLETED]; export const NOTE_TYPE_LIST = [NoteType.GENERAL, NoteType.BRING_FORWARD, NoteType.ENQUIRY, NoteType.ROADMAP]; diff --git a/frontend/src/utils/enums/application.ts b/frontend/src/utils/enums/application.ts index d990d0ee..8f01cca9 100644 --- a/frontend/src/utils/enums/application.ts +++ b/frontend/src/utils/enums/application.ts @@ -43,6 +43,7 @@ export enum RouteName { HOUSING = 'housing', HOUSING_ENQUIRY = 'housing_enquiry', HOUSING_ENQUIRY_INTAKE = 'housing_enquiry_intake', + HOUSING_GUIDE = 'housing_guide', HOUSING_SUBMISSION = 'housing_submission', HOUSING_SUBMISSION_INTAKE = 'housing_submission_intake', HOUSING_SUBMISSIONS = 'housing_submissions',