@@ -10,6 +10,7 @@ import { wrapResult } from 'lib-common/api'
10
10
import { ParentshipWithPermittedActions } from 'lib-common/generated/api-types/pis'
11
11
import { UUID } from 'lib-common/types'
12
12
import { getAge } from 'lib-common/utils/local-date'
13
+ import Tooltip from 'lib-components/atoms/Tooltip'
13
14
import { AddButtonRow } from 'lib-components/atoms/buttons/AddButton'
14
15
import { CollapsibleContentArea } from 'lib-components/layout/Container'
15
16
import { Table , Tbody , Td , Th , Thead , Tr } from 'lib-components/layout/Table'
@@ -118,6 +119,7 @@ export default React.memo(function PersonFridgeChild({
118
119
< Th > { i18n . common . form . age } </ Th >
119
120
< Th > { i18n . common . form . startDate } </ Th >
120
121
< Th > { i18n . common . form . endDate } </ Th >
122
+ < Th > { i18n . common . form . lastModified } </ Th >
121
123
< Th />
122
124
</ Tr >
123
125
</ Thead >
@@ -133,63 +135,92 @@ export default React.memo(function PersonFridgeChild({
133
135
permittedActions
134
136
} : ParentshipWithPermittedActions ,
135
137
i : number
136
- ) => (
137
- < Tr
138
- key = { `${ fridgeChild . child . id } -${ i } ` }
139
- data-qa = "table-fridge-child-row"
140
- >
141
- < NameTd >
142
- < Link to = { `/child-information/${ fridgeChild . child . id } ` } >
143
- { formatName (
144
- fridgeChild . child . firstName ,
145
- fridgeChild . child . lastName ,
146
- i18n ,
147
- true
138
+ ) => {
139
+ const modifiedAt =
140
+ fridgeChild . creationModificationMetadata . modifiedAt ||
141
+ fridgeChild . creationModificationMetadata . createdAt
142
+ const modifiedByName =
143
+ fridgeChild . creationModificationMetadata . modifiedByName ||
144
+ fridgeChild . creationModificationMetadata . createdByName
145
+
146
+ return (
147
+ < Tr
148
+ key = { `${ fridgeChild . child . id } -${ i } ` }
149
+ data-qa = "table-fridge-child-row"
150
+ >
151
+ < NameTd >
152
+ < Link to = { `/child-information/${ fridgeChild . child . id } ` } >
153
+ { formatName (
154
+ fridgeChild . child . firstName ,
155
+ fridgeChild . child . lastName ,
156
+ i18n ,
157
+ true
158
+ ) }
159
+ </ Link >
160
+ </ NameTd >
161
+ < Td >
162
+ { fridgeChild . child . socialSecurityNumber ??
163
+ fridgeChild . child . dateOfBirth . format ( ) }
164
+ </ Td >
165
+ < Td data-qa = "child-age" >
166
+ { getAge ( fridgeChild . child . dateOfBirth ) }
167
+ </ Td >
168
+ < DateTd > { fridgeChild . startDate . format ( ) } </ DateTd >
169
+ < DateTd > { fridgeChild . endDate . format ( ) } </ DateTd >
170
+ < Td >
171
+ { modifiedAt ? (
172
+ < Tooltip
173
+ tooltip = {
174
+ modifiedByName
175
+ ? i18n . common . form . lastModifiedBy (
176
+ modifiedByName
177
+ )
178
+ : null
179
+ }
180
+ position = "left"
181
+ >
182
+ { modifiedAt . format ( ) }
183
+ </ Tooltip >
184
+ ) : (
185
+ i18n . common . unknown
148
186
) }
149
- </ Link >
150
- </ NameTd >
151
- < Td >
152
- { fridgeChild . child . socialSecurityNumber ??
153
- fridgeChild . child . dateOfBirth . format ( ) }
154
- </ Td >
155
- < Td data-qa = "child-age" >
156
- { getAge ( fridgeChild . child . dateOfBirth ) }
157
- </ Td >
158
- < DateTd > { fridgeChild . startDate . format ( ) } </ DateTd >
159
- < DateTd > { fridgeChild . endDate . format ( ) } </ DateTd >
160
- < ButtonsTd >
161
- < Toolbar
162
- dateRange = { fridgeChild }
163
- onRetry = {
164
- fridgeChild . conflict
165
- ? ( ) => {
166
- void retryParentshipResult ( {
167
- id : fridgeChild . id
168
- } ) . then ( reloadFridgeChildren )
169
- }
170
- : undefined
171
- }
172
- editable = { permittedActions . includes ( 'UPDATE' ) }
173
- onEdit = { ( ) => {
174
- setSelectedParentshipId ( fridgeChild . id )
175
- toggleUiMode ( `edit-fridge-child-${ fridgeChild . id } ` )
176
- } }
177
- deletable = {
178
- fridgeChild . conflict
179
- ? permittedActions . includes (
180
- 'DELETE_CONFLICTED_PARENTSHIP'
181
- )
182
- : permittedActions . includes ( 'DELETE' )
183
- }
184
- onDelete = { ( ) => {
185
- setSelectedParentshipId ( fridgeChild . id )
186
- toggleUiMode ( `remove-fridge-child-${ fridgeChild . id } ` )
187
- } }
188
- conflict = { fridgeChild . conflict }
189
- />
190
- </ ButtonsTd >
191
- </ Tr >
192
- )
187
+ </ Td >
188
+ < ButtonsTd >
189
+ < Toolbar
190
+ dateRange = { fridgeChild }
191
+ onRetry = {
192
+ fridgeChild . conflict
193
+ ? ( ) => {
194
+ void retryParentshipResult ( {
195
+ id : fridgeChild . id
196
+ } ) . then ( reloadFridgeChildren )
197
+ }
198
+ : undefined
199
+ }
200
+ editable = { permittedActions . includes ( 'UPDATE' ) }
201
+ onEdit = { ( ) => {
202
+ setSelectedParentshipId ( fridgeChild . id )
203
+ toggleUiMode ( `edit-fridge-child-${ fridgeChild . id } ` )
204
+ } }
205
+ deletable = {
206
+ fridgeChild . conflict
207
+ ? permittedActions . includes (
208
+ 'DELETE_CONFLICTED_PARENTSHIP'
209
+ )
210
+ : permittedActions . includes ( 'DELETE' )
211
+ }
212
+ onDelete = { ( ) => {
213
+ setSelectedParentshipId ( fridgeChild . id )
214
+ toggleUiMode (
215
+ `remove-fridge-child-${ fridgeChild . id } `
216
+ )
217
+ } }
218
+ conflict = { fridgeChild . conflict }
219
+ />
220
+ </ ButtonsTd >
221
+ </ Tr >
222
+ )
223
+ }
193
224
) }
194
225
</ Tbody >
195
226
</ Table >
0 commit comments