From 7f339e42145f09e113e7c97773d19ff6226ff6a3 Mon Sep 17 00:00:00 2001 From: Ana Garcia Date: Wed, 21 Aug 2024 08:28:55 +0200 Subject: [PATCH 1/2] Same key-value for ids in fields --- .../utils/mapEntityToInitialFormState.ts | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/webapp/pages/form-page/disease-outbreak-event/utils/mapEntityToInitialFormState.ts b/src/webapp/pages/form-page/disease-outbreak-event/utils/mapEntityToInitialFormState.ts index 96426e34..1098007b 100644 --- a/src/webapp/pages/form-page/disease-outbreak-event/utils/mapEntityToInitialFormState.ts +++ b/src/webapp/pages/form-page/disease-outbreak-event/utils/mapEntityToInitialFormState.ts @@ -7,6 +7,7 @@ import { Option as PresentationOption } from "../../../../components/utils/optio export const diseaseOutbreakEventFieldIds = { name: "name", + dataSource: "dataSource", hazardType: "hazardType", mainSyndromeCode: "mainSyndromeCode", suspectedDiseaseCode: "suspectedDiseaseCode", @@ -14,22 +15,22 @@ export const diseaseOutbreakEventFieldIds = { areasAffectedProvinceIds: "areasAffectedProvinceIds", areasAffectedDistrictIds: "areasAffectedDistrictIds", incidentStatus: "incidentStatus", - emergedDate: "emerged_date", - emergedNarrative: "emerged_narrative", - detectedDate: "detected_date", - detectedNarrative: "detected_narrative", - notifiedDate: "notified_date", - notifiedNarrative: "notified_narrative", + emergedDate: "emergedDate", + emergedNarrative: "emergedNarrative", + detectedDate: "detectedDate", + detectedNarrative: "detectedNarrative", + notifiedDate: "notifiedDate", + notifiedNarrative: "notifiedNarrative", initiateInvestigation: "initiateInvestigation", conductEpidemiologicalAnalysis: "conductEpidemiologicalAnalysis", - laboratoryConfirmationDate: "laboratoryConfirmation_date", - laboratoryConfirmationNA: "laboratoryConfirmation_na", - appropriateCaseManagementDate: "appropriateCaseManagement_date", - appropriateCaseManagementNA: "appropriateCaseManagement_na", - initiatePublicHealthCounterMeasuresDate: "initiatePublicHealthCounterMeasures_date", - initiatePublicHealthCounterMeasuresNA: "initiatePublicHealthCounterMeasures_na", - initiateRiskCommunicationDate: "initiateRiskCommunication_date", - initiateRiskCommunicationNA: "initiateRiskCommunication_na", + laboratoryConfirmationDate: "laboratoryConfirmationDate", + laboratoryConfirmationNA: "laboratoryConfirmationNA", + appropriateCaseManagementDate: "appropriateCaseManagementDate", + appropriateCaseManagementNA: "appropriateCaseManagementNA", + initiatePublicHealthCounterMeasuresDate: "initiatePublicHealthCounterMeasuresDate", + initiatePublicHealthCounterMeasuresNA: "initiatePublicHealthCounterMeasuresNA", + initiateRiskCommunicationDate: "initiateRiskCommunicationDate", + initiateRiskCommunicationNA: "initiateRiskCommunicationNA", establishCoordination: "establishCoordination", responseNarrative: "responseNarrative", incidentManagerName: "incidentManagerName", From 50acb74a2dc77ceeb700a051a8408fc04eca959d Mon Sep 17 00:00:00 2001 From: Ana Garcia Date: Wed, 21 Aug 2024 09:50:18 +0200 Subject: [PATCH 2/2] Add photo in team member and logo in app header --- .../repositories/TeamMemberD2Repository.ts | 18 ++++++++++----- .../incident-management-team/TeamMember.ts | 8 +++++++ src/webapp/assets/znphi-dark-logo.png | Bin 0 -> 24725 bytes .../layout/header-bar/HeaderBar.tsx | 21 +++++++++++++++--- 4 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 src/webapp/assets/znphi-dark-logo.png diff --git a/src/data/repositories/TeamMemberD2Repository.ts b/src/data/repositories/TeamMemberD2Repository.ts index 2e16d564..d49a96b8 100644 --- a/src/data/repositories/TeamMemberD2Repository.ts +++ b/src/data/repositories/TeamMemberD2Repository.ts @@ -17,7 +17,7 @@ export class TeamMemberD2Repository implements TeamMemberRepository { }) ).map(response => { if (!response.users) throw new Error("Team Members not found"); - return response.users.map(this.mapUserToTeamMember); + return response.users.map(d2User => this.mapUserToTeamMember(d2User)); }); } @@ -37,16 +37,23 @@ export class TeamMemberD2Repository implements TeamMemberRepository { } // TODO: FIXME Property using next version of d2-api ('username' does not exist on type 'D2User') - mapUserToTeamMember(user: any): TeamMember { + private mapUserToTeamMember(user: any): TeamMember { + const photoUrlString = user?.avatar?.id + ? `${this.api.baseUrl}/api/fileResources/${user?.avatar?.id}/data` + : undefined; + return new TeamMember({ id: user.id, username: user.username, name: user.name, email: user.email, phone: user.phoneNumber, - status: "Available", - role: { id: "1", name: "Incident Manager" }, - photo: undefined, //TO DO : where will the photo URL be saved + status: "Available", // TODO: Get status when defined + role: { id: "1", name: "Incident Manager" }, // TODO: Get role when defined + photo: + photoUrlString && TeamMember.isValidPhotoUrl(photoUrlString) + ? new URL(photoUrlString) + : undefined, }); } } @@ -57,6 +64,7 @@ const d2UserFields = { email: true, phoneNumber: true, username: true, + avatar: true, }; type _D2User = MetadataPick<{ diff --git a/src/domain/entities/incident-management-team/TeamMember.ts b/src/domain/entities/incident-management-team/TeamMember.ts index 94ba38d7..54382767 100644 --- a/src/domain/entities/incident-management-team/TeamMember.ts +++ b/src/domain/entities/incident-management-team/TeamMember.ts @@ -24,4 +24,12 @@ export class TeamMember extends Struct() { //TO DO : any validations for phone number? //TO DO : any validations for email? } + + static isValidPhotoUrl(urlString: string): boolean { + try { + return Boolean(new URL(urlString)); + } catch (e) { + return false; + } + } } diff --git a/src/webapp/assets/znphi-dark-logo.png b/src/webapp/assets/znphi-dark-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..297c6aca677f9a3033b59fe543f1f275a555bc9b GIT binary patch literal 24725 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 literal 0 HcmV?d00001 diff --git a/src/webapp/components/layout/header-bar/HeaderBar.tsx b/src/webapp/components/layout/header-bar/HeaderBar.tsx index 804e1597..ff250fa6 100644 --- a/src/webapp/components/layout/header-bar/HeaderBar.tsx +++ b/src/webapp/components/layout/header-bar/HeaderBar.tsx @@ -2,6 +2,8 @@ import React from "react"; import styled from "styled-components"; import { HeaderBar as D2HeaderBar } from "@dhis2/ui"; +import znphiLogo from "../../../assets/znphi-dark-logo.png"; + type HeaderBarProps = { name: string; }; @@ -19,6 +21,10 @@ export const HeaderBar: React.FC = React.memo(({ name }) => { {name} + + ZNPHI logo + + ); @@ -28,10 +34,19 @@ const Container = styled.div` display: flex; `; +const IconContainer = styled.div` + img { + background-color: ${props => props.theme.palette.header.color}; + height: 48px; + width: 72px; + } +`; + const ButtonMenuContainer = styled.div` background-color: ${props => props.theme.palette.header.color}; @media (max-width: 959px) { width: 55px; + height: 48px; } `; @@ -51,16 +66,16 @@ const AppName = styled.span` height: 48px; width: 94px; min-width: 94px; - padding-inline: 16px; + padding-inline-start: 16px; `; const StyledHeaderBar = styled(D2HeaderBar)` &.app-header { background-color: ${props => props.theme.palette.header.color}; - width: calc(100% - 176px); + width: calc(100% - 232px); border: none; @media (max-width: 959px) { - width: calc(100% - 231px); + width: calc(100% - 287px); } } `;