@@ -13,6 +13,10 @@ import {
13
13
LocalePublishStatusMap ,
14
14
useLocalePublishStatus ,
15
15
useActiveLocales ,
16
+ parseReleaseParams ,
17
+ useActiveReleaseLocalesStatuses ,
18
+ type ReleaseLocalesStatusMap ,
19
+ type ReleaseV2Props ,
16
20
} from '@contentful/field-editor-shared' ;
17
21
import areEqual from 'fast-deep-equal' ;
18
22
@@ -26,10 +30,20 @@ interface InternalEntryCard {
26
30
onEdit ?: VoidFunction ;
27
31
onRemove ?: VoidFunction ;
28
32
localesStatusMap ?: LocalePublishStatusMap ;
33
+ releaseLocalesStatusMap ?: ReleaseLocalesStatusMap ;
34
+ isActiveReleaseLoading ?: boolean ;
35
+ activeRelease ?: ReleaseV2Props ;
29
36
}
30
37
31
38
const InternalEntryCard = React . memo ( ( props : InternalEntryCard ) => {
32
- const { entry, sdk, loadEntityScheduledActions } = props ;
39
+ const {
40
+ entry,
41
+ sdk,
42
+ loadEntityScheduledActions,
43
+ releaseLocalesStatusMap,
44
+ isActiveReleaseLoading,
45
+ activeRelease,
46
+ } = props ;
33
47
34
48
const contentType = sdk . space
35
49
. getCachedContentTypes ( )
@@ -58,6 +72,9 @@ const InternalEntryCard = React.memo((props: InternalEntryCard) => {
58
72
? ( dragHandleProps ) => < DragHandle label = "drag embedded entry" { ...dragHandleProps } />
59
73
: undefined
60
74
}
75
+ releaseLocalesStatusMap = { releaseLocalesStatusMap }
76
+ isReleasesLoading = { isActiveReleaseLoading }
77
+ activeRelease = { activeRelease }
61
78
/>
62
79
) ;
63
80
} , areEqual ) ;
@@ -81,9 +98,19 @@ export const FetchingWrappedEntryCard = (props: FetchingWrappedEntryCardProps) =
81
98
const { getEntityScheduledActions } = useEntityLoader ( ) ;
82
99
const loadEntityScheduledActions = React . useCallback (
83
100
( ) => getEntityScheduledActions ( 'Entry' , entryId ) ,
84
- [ getEntityScheduledActions , entryId ]
101
+ [ getEntityScheduledActions , entryId ] ,
85
102
) ;
86
103
const localesStatusMap = useLocalePublishStatus ( entry , props . sdk . locales ) ;
104
+ const { releaseVersionMap, locales, activeRelease, releases, isActiveReleaseLoading } =
105
+ parseReleaseParams ( props . sdk . parameters . instance . release ) ;
106
+ const { releaseLocalesStatusMap } = useActiveReleaseLocalesStatuses ( {
107
+ currentEntryDraft : entry ,
108
+ entryId : props . entryId ,
109
+ releaseVersionMap,
110
+ locales,
111
+ activeRelease,
112
+ releases,
113
+ } ) ;
87
114
88
115
React . useEffect ( ( ) => {
89
116
if ( status === 'success' ) {
@@ -116,6 +143,9 @@ export const FetchingWrappedEntryCard = (props: FetchingWrappedEntryCardProps) =
116
143
onRemove = { props . onRemove }
117
144
loadEntityScheduledActions = { loadEntityScheduledActions }
118
145
localesStatusMap = { localesStatusMap }
146
+ releaseLocalesStatusMap = { releaseLocalesStatusMap }
147
+ isActiveReleaseLoading = { isActiveReleaseLoading }
148
+ activeRelease = { activeRelease }
119
149
/>
120
150
) ;
121
151
} ;
0 commit comments