1
1
import React , { useRef , useState , createRef , useMemo , useEffect } from 'react'
2
2
import PropTypes from 'prop-types'
3
3
4
+ import { models } from 'cozy-client'
5
+
4
6
import List from '../../MuiCozyTheme/List'
5
7
import { withViewerLocales } from '../hoc/withViewerLocales'
6
8
import {
@@ -9,12 +11,15 @@ import {
9
11
knownInformationMetadataNames ,
10
12
knownOtherMetadataNames
11
13
} from '../helpers'
14
+ import ExpirationAlert from '../components/ExpirationAlert'
12
15
import QualificationListItemContact from './QualificationListItemContact'
13
16
import ActionMenuWrapper from './ActionMenuWrapper'
14
17
import QualificationListItemDate from './QualificationListItemDate'
15
18
import QualificationListItemInformation from './QualificationListItemInformation'
16
19
import QualificationListItemOther from './QualificationListItemOther'
17
20
21
+ const { isExpiringSoon } = models . paper
22
+
18
23
const makeQualificationListItemComp = metadataName => {
19
24
if ( knownDateMetadataNames . includes ( metadataName ) ) {
20
25
return QualificationListItemDate
@@ -63,31 +68,36 @@ const Qualification = ({ file = {} }) => {
63
68
} , [ formatedMetadataQualification ] )
64
69
65
70
return (
66
- < List className = { 'u-pv-1' } >
67
- { formatedMetadataQualification . map ( ( meta , idx ) => {
68
- const { name } = meta
69
- const QualificationListItemComp = makeQualificationListItemComp ( name )
70
-
71
- return (
72
- < QualificationListItemComp
73
- key = { idx }
71
+ < >
72
+ { isExpiringSoon ( file ) && ! file ?. metadata ?. hideExpirationAlert && (
73
+ < ExpirationAlert file = { file } />
74
+ ) }
75
+ < List className = { 'u-pv-1' } >
76
+ { formatedMetadataQualification . map ( ( meta , idx ) => {
77
+ const { name } = meta
78
+ const QualificationListItemComp = makeQualificationListItemComp ( name )
79
+
80
+ return (
81
+ < QualificationListItemComp
82
+ key = { idx }
83
+ file = { file }
84
+ ref = { actionBtnRef . current [ idx ] }
85
+ formatedMetadataQualification = { meta }
86
+ toggleActionsMenu = { val => toggleActionsMenu ( idx , name , val ) }
87
+ />
88
+ )
89
+ } ) }
90
+
91
+ { optionFile . name && (
92
+ < ActionMenuWrapper
93
+ onClose = { hideActionsMenu }
74
94
file = { file }
75
- ref = { actionBtnRef . current [ idx ] }
76
- formatedMetadataQualification = { meta }
77
- toggleActionsMenu = { val => toggleActionsMenu ( idx , name , val ) }
95
+ optionFile = { optionFile }
96
+ ref = { actionBtnRef . current [ optionFile . id ] }
78
97
/>
79
- )
80
- } ) }
81
-
82
- { optionFile . name && (
83
- < ActionMenuWrapper
84
- onClose = { hideActionsMenu }
85
- file = { file }
86
- optionFile = { optionFile }
87
- ref = { actionBtnRef . current [ optionFile . id ] }
88
- />
89
- ) }
90
- </ List >
98
+ ) }
99
+ </ List >
100
+ </ >
91
101
)
92
102
}
93
103
0 commit comments