From 2b853c6e0902da1f06ec26e40431d1fdf378e78a Mon Sep 17 00:00:00 2001
From: Ratheesh kumar R <108045773+ratheesh-aot@users.noreply.github.com>
Date: Wed, 29 May 2024 14:41:27 -0700
Subject: [PATCH] DESENG-612: Replaced tenant specific variables with data from
backend (#2528)
* DESENG-612: Replaced tenant specific variables with data from backend
* Updated condition for null values
* Fixed build issue
---
CHANGELOG.MD | 5 +++++
met-web/src/App.tsx | 7 +++++++
met-web/src/DocumentTitle.tsx | 6 ++++--
.../comments/admin/review/CommentReview.tsx | 14 ++++++-------
.../components/landing/LandingComponent.tsx | 11 ++++++----
.../layout/Header/InternalHeader.tsx | 12 +++++------
.../components/layout/Header/PublicHeader.tsx | 14 ++++++-------
met-web/src/locales/common.json | 4 +++-
met-web/src/reduxSlices/tenantSlice.ts | 21 +++++++++++++++++++
met-web/src/routes/NotAvailable.tsx | 13 +++++-------
.../landingPage/LandingPage.test.tsx | 15 +++++++++----
11 files changed, 82 insertions(+), 40 deletions(-)
diff --git a/CHANGELOG.MD b/CHANGELOG.MD
index 462f360cc..e17b71d36 100644
--- a/CHANGELOG.MD
+++ b/CHANGELOG.MD
@@ -1,3 +1,8 @@
+## May 29, 2024
+
+- **Feature** MET split out tenant specific variables from locale files [🎟️ DESENG-612](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-612)
+ - Replaced tenant based values with data from tenant detail API
+
## May 27, 2024
- **Feature** MET translation file keys used on pages needing translation [🎟️ DESENG-611](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-611)
diff --git a/met-web/src/App.tsx b/met-web/src/App.tsx
index 84bacdd2f..d70ed0191 100644
--- a/met-web/src/App.tsx
+++ b/met-web/src/App.tsx
@@ -71,6 +71,13 @@ const App = () => {
name: tenant.name,
logoUrl: tenant.logo_url ?? '',
basename: appBaseName,
+ title: tenant.title,
+ contact_email: tenant.contact_email ?? '',
+ contact_name: tenant.contact_name ?? '',
+ description: tenant.description ?? '',
+ short_name: tenant.short_name,
+ logo_description: tenant.logo_description ?? '',
+ logo_credit: tenant.logo_credit ?? '',
}),
);
} catch {
diff --git a/met-web/src/DocumentTitle.tsx b/met-web/src/DocumentTitle.tsx
index ed82b18f3..1f0243865 100644
--- a/met-web/src/DocumentTitle.tsx
+++ b/met-web/src/DocumentTitle.tsx
@@ -1,10 +1,12 @@
import React from 'react';
import { Helmet } from 'react-helmet-async';
+import { TenantState } from 'reduxSlices/tenantSlice';
+import { useAppSelector } from './hooks';
const DocumentTitle = () => {
+ const tenant: TenantState = useAppSelector((state) => state.tenant);
return (
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific */}
- Modern Engagement
+ {tenant.title}
);
};
diff --git a/met-web/src/components/comments/admin/review/CommentReview.tsx b/met-web/src/components/comments/admin/review/CommentReview.tsx
index 5391fbd8b..f5122d98a 100644
--- a/met-web/src/components/comments/admin/review/CommentReview.tsx
+++ b/met-web/src/components/comments/admin/review/CommentReview.tsx
@@ -44,6 +44,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faMessageCheck } from '@fortawesome/pro-solid-svg-icons/faMessageCheck';
import { faMessageSlash } from '@fortawesome/pro-solid-svg-icons/faMessageSlash';
import { LanguageState } from 'reduxSlices/languageSlice';
+import { TenantState } from 'reduxSlices/tenantSlice';
const CommentReview = () => {
const [submission, setSubmission] = useState(createDefaultSubmission());
@@ -67,6 +68,7 @@ const CommentReview = () => {
const { submissionId, surveyId } = useParams();
const reviewNotes = updatedStaffNote.filter((staffNote) => staffNote.note_type == StaffNoteType.Review);
const internalNotes = updatedStaffNote.filter((staffNote) => staffNote.note_type == StaffNoteType.Internal);
+ const tenant: TenantState = useAppSelector((state) => state.tenant);
const MAX_OTHER_REASON_CHAR = 500;
@@ -205,8 +207,8 @@ const CommentReview = () => {
};
const defaultVerdict = comment_status_id !== CommentStatus.Pending ? comment_status_id : CommentStatus.Approved;
- // TODO: LANG-BACKEND - Change the value to show tenant specific
- const threatEmailContact = 'email@gov.bc.ca';
+ const threatEmailContact = tenant.contact_email;
+ const threatConactName = tenant.contact_name;
return (
{
}
/>
- {translate('comment.admin.review.threatTextOne')}
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific //
- comment.admin.review.threatContact */}
- {'FirstName LastName'}
- {translate('comment.admin.review.threatTextTwo')}{' '}
+ {translate('comment.admin.review.threatTextOne')}
+ {threatConactName}
+ {translate('comment.admin.review.threatTextTwo')}
{threatEmailContact}
{
+ const tenant: TenantState = useAppSelector((state) => state.tenant);
+
return (
@@ -44,12 +49,10 @@ const LandingComponent = () => {
rowSpacing={2}
>
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific */}
- Government Digital Experience Division
+ {tenant.title}
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific */}
- Description about the office and public engagement.
+ {tenant.description}
diff --git a/met-web/src/components/layout/Header/InternalHeader.tsx b/met-web/src/components/layout/Header/InternalHeader.tsx
index 65c5cdda5..59ec2a89d 100644
--- a/met-web/src/components/layout/Header/InternalHeader.tsx
+++ b/met-web/src/components/layout/Header/InternalHeader.tsx
@@ -16,15 +16,17 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faBars } from '@fortawesome/pro-regular-svg-icons/faBars';
import { HeaderProps } from './types';
import { useNavigate } from 'react-router-dom';
+import { TenantState } from 'reduxSlices/tenantSlice';
+import { useAppSelector } from '../../../hooks';
const InternalHeader = ({ drawerWidth = 280 }: HeaderProps) => {
const isMediumScreen: boolean = useMediaQuery((theme: Theme) => theme.breakpoints.up('md'));
const [open, setOpen] = useState(false);
const [imageError, setImageError] = useState(false);
+ const tenant: TenantState = useAppSelector((state) => state.tenant);
const navigate = useNavigate();
- // TODO: LANG-BACKEND - Change the value to show tenant specific
- const logoUrl = '';
+ const logoUrl = tenant.logoUrl;
return (
<>
{
}}
sx={{ flexGrow: 1, cursor: 'pointer' }}
>
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific */}
- {'Modern Engagement'}
+ {tenant.title}
) : (
{
}}
sx={{ flexGrow: 1, cursor: 'pointer' }}
>
- {/* TODO: LANG-BACKEND - Change the value to show tenant specific */}
- {'MET'}
+ {tenant.short_name}
)}