@@ -93,50 +93,35 @@ export const templateTypeDisplayMappings = (type: TemplateType) =>
9393 LETTER : 'Letter' ,
9494 } ) [ type ] ;
9595
96- const statusToDisplayMappings : Record < TemplateStatus , string > = {
97- NOT_YET_SUBMITTED : 'Not yet submitted' ,
98- SUBMITTED : 'Submitted' ,
99- DELETED : '' , // will not be shown in the UI
100- PENDING_PROOF_REQUEST : 'Files uploaded' ,
101- PENDING_UPLOAD : 'Checking files' ,
102- PENDING_VALIDATION : 'Checking files' ,
103- VALIDATION_FAILED : 'Checks failed' ,
104- VIRUS_SCAN_FAILED : 'Checks failed' ,
105- WAITING_FOR_PROOF : 'Waiting for proof' ,
106- PROOF_AVAILABLE : 'Proof available' ,
107- TEMPLATE_PROOF_APPROVED : 'Template proof approved' ,
108- } as const ;
109-
110- const isProofEmpty = (
96+ const isProofAvailable = (
11197 template : Pick < TemplateDto & LetterProperties , 'files' >
11298) => Object . entries ( template . files . proofs ?? { } ) . length > 0 ;
11399
114- const templateStatusToDisplayMappingsLetter = (
115- status : TemplateStatus ,
116- isRoutingEnabled : boolean ,
117- isProofAvailable : boolean
118- ) =>
119- isRoutingEnabled && isProofAvailable && status === 'SUBMITTED'
120- ? statusToDisplayMappings [ 'TEMPLATE_PROOF_APPROVED' ]
121- : statusToDisplayMappings [ status ] ;
122-
123- const templateStatusToDisplayMappingsDigital = ( status : TemplateStatus ) =>
124- ( {
125- ...statusToDisplayMappings ,
126- NOT_YET_SUBMITTED : 'Draft' ,
127- } ) [ status ] ;
128-
129100export const statusToDisplayMapping = (
130101 template : TemplateDto ,
131102 isRoutingEnabled : boolean = false
132- ) : string =>
133- template . templateType === 'LETTER'
134- ? templateStatusToDisplayMappingsLetter (
135- template . templateStatus ,
136- isRoutingEnabled ,
137- isProofEmpty ( template )
138- )
139- : templateStatusToDisplayMappingsDigital ( template . templateStatus ) ;
103+ ) : string => {
104+ const statusToDisplayMappings : Record < TemplateStatus , string > = {
105+ NOT_YET_SUBMITTED :
106+ template . templateType === 'LETTER' ? 'Not yet submitted' : 'Draft' ,
107+ SUBMITTED :
108+ template . templateType === 'LETTER' &&
109+ isRoutingEnabled &&
110+ isProofAvailable ( template )
111+ ? 'Template proof approved'
112+ : 'Submitted' ,
113+ DELETED : '' , // will not be shown in the UI
114+ PENDING_PROOF_REQUEST : 'Files uploaded' ,
115+ PENDING_UPLOAD : 'Checking files' ,
116+ PENDING_VALIDATION : 'Checking files' ,
117+ VALIDATION_FAILED : 'Checks failed' ,
118+ VIRUS_SCAN_FAILED : 'Checks failed' ,
119+ WAITING_FOR_PROOF : 'Waiting for proof' ,
120+ PROOF_AVAILABLE : 'Proof available' ,
121+ } as const ;
122+
123+ return statusToDisplayMappings [ template . templateStatus ] ;
124+ } ;
140125
141126type Colour =
142127 | 'white'
@@ -162,7 +147,6 @@ const colourMappings: Record<TemplateStatus, Colour> = {
162147 VALIDATION_FAILED : 'red' ,
163148 WAITING_FOR_PROOF : 'yellow' ,
164149 PROOF_AVAILABLE : 'orange' ,
165- TEMPLATE_PROOF_APPROVED : 'grey' ,
166150} as const ;
167151
168152const templateStatusToColourMappingsLetter = (
@@ -228,7 +212,6 @@ const templateStatusCopyAction = (status: TemplateStatus) =>
228212 VALIDATION_FAILED : true ,
229213 WAITING_FOR_PROOF : false ,
230214 PROOF_AVAILABLE : false ,
231- TEMPLATE_PROOF_APPROVED : true ,
232215 } ) satisfies Record < TemplateStatus , boolean >
233216 ) [ status ] ;
234217
@@ -255,7 +238,6 @@ const templateStatusDeleteAction = (status: TemplateStatus) =>
255238 VALIDATION_FAILED : true ,
256239 WAITING_FOR_PROOF : false ,
257240 PROOF_AVAILABLE : true ,
258- TEMPLATE_PROOF_APPROVED : false ,
259241 } ) satisfies Record < TemplateStatus , boolean >
260242 ) [ status ] ;
261243
0 commit comments