@@ -93,22 +93,31 @@ function EmergencyResponseUnitReadiness() {
9393 } ,
9494 } ) ;
9595
96+ const {
97+ error : eruReadinessTypeError ,
98+ response : eruReadinessTypeResponse ,
99+ pending : eruReadinessTypePending ,
100+ } = useRequest ( {
101+ url : '/api/v2/eru-readiness-type/' ,
102+ preserveResponse : true ,
103+ query : {
104+ type : filter . selectEruTypes ,
105+ eru_owner : filter . selectEruOwner ,
106+ } ,
107+ } ) ;
108+
96109 const {
97110 deployments_eru_type : deploymentEruType ,
98111 } = useGlobalEnums ( ) ;
99112
100113 const [ activeTab , setActiveTab ] = useState < 'eruType' | 'nationalSociety' > ( 'eruType' ) ;
101114
102115 const groupedByEruType = useMemo ( ( ) => {
103- const eruData = eruReadinessResponse ?. results ?. flatMap ( ( readiness ) => (
104- [ ...( readiness . eru_types . map ( ( eruType ) => (
105- {
106- ...eruType ,
107- eruOwner : readiness . eru_owner_details ,
108- updatedAt : readiness . updated_at ,
109- }
110- ) ) ) ]
111- ) ) ;
116+ const eruData = eruReadinessTypeResponse ?. results ?. map ( ( d ) => ( {
117+ ...d ,
118+ eruOwner : d . eru_readiness ?. [ 0 ] ?. eru_owner_details ,
119+ updatedAt : d . eru_readiness ?. [ 0 ] ?. updated_at ,
120+ } ) ) ;
112121 return (
113122 mapToList (
114123 listToGroupList (
@@ -118,18 +127,16 @@ function EmergencyResponseUnitReadiness() {
118127 ( readinessList , eruType ) => ( { key : eruType , readinessList } ) ,
119128 )
120129 ) ;
121- } , [ eruReadinessResponse ?. results ] ) ;
130+ } , [ eruReadinessTypeResponse ?. results ] ) ;
122131
123132 const eruRendererParams = useCallback ( ( _ : string , item : {
124133 key : string ;
125134 readinessList : ReadinessList ;
126135 } ) => ( {
127- typeDisplay : item . readinessList [ 0 ] . type_display ,
128- nationalSocieties : joinStrings ( unique (
129- item . readinessList . map ( ( v ) => (
130- v . eruOwner . national_society_country_details . society_name
131- ) ) . filter ( isDefined ) ,
132- ) ) ,
136+ typeDisplay : item . readinessList ?. [ 0 ] ?. type_display ,
137+ nationalSocieties : joinStrings ( unique ( item . readinessList . map ( ( v ) => (
138+ v . eruOwner . national_society_country_details . society_name
139+ ) ) ) . filter ( isDefined ) ) ,
133140 fundingReadiness : minSafe ( item . readinessList . map ( ( v ) => v . funding_readiness ) ) ,
134141 equipmentReadiness : minSafe ( item . readinessList . map ( ( v ) => v . equipment_readiness ) ) ,
135142 peopleReadiness : minSafe ( item . readinessList . map ( ( v ) => v . people_readiness ) ) ,
@@ -150,7 +157,7 @@ function EmergencyResponseUnitReadiness() {
150157 < Container
151158 heading = { resolveToString (
152159 strings . eruReadinessCount ,
153- { count : eruReadinessResponse ?. count } ,
160+ { count : eruReadinessResponse ?. count ?? '-' } ,
154161 ) }
155162 withHeaderBorder
156163 actions = { (
@@ -198,8 +205,8 @@ function EmergencyResponseUnitReadiness() {
198205 < Grid
199206 numPreferredColumns = { 3 }
200207 data = { groupedByEruType }
201- pending = { eruReadinessPending }
202- errored = { isDefined ( eruReadinessError ) }
208+ pending = { eruReadinessTypePending }
209+ errored = { isDefined ( eruReadinessTypeError ) }
203210 filtered = { filtered }
204211 keySelector = { stringKeySelector }
205212 renderer = { EmergencyResponseUnitCard }
0 commit comments