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} )}