@@ -34,6 +34,8 @@ export default function CollectionTypeModal({
34
34
const [ priority , setPriority ] = useState ( '' ) ;
35
35
const [ frequency , setFrequency ] = useState ( '' ) ;
36
36
const [ lastModified , setLastModified ] = useState ( 'false' ) ;
37
+ const [ thumbnail , setThumbnail ] = useState ( '' ) ;
38
+ const [ possibleThumbnailFields , setPossibleThumbnailFields ] = useState < any [ ] > ( [ ] ) ;
37
39
38
40
const [ collectionTypes , setCollectionTypes ] = useState < CollectionType [ ] > ( [ ] ) ;
39
41
const [ locales , setLocales ] = useState < any [ ] > ( [ ] ) ;
@@ -45,6 +47,7 @@ export default function CollectionTypeModal({
45
47
const priorityRef = useRef < HTMLInputElement > ( null ) ;
46
48
const frequencyRef = useRef < HTMLInputElement > ( null ) ;
47
49
const lastModifiedRef = useRef < HTMLInputElement > ( null ) ;
50
+ const thumbnailRef = useRef < HTMLInputElement > ( null ) ;
48
51
49
52
const { get, put, post } = getFetchClient ( ) ;
50
53
@@ -87,6 +90,7 @@ export default function CollectionTypeModal({
87
90
priority,
88
91
frequency,
89
92
lastModified,
93
+ thumbnail,
90
94
id : editID ,
91
95
} ) ;
92
96
} else {
@@ -97,6 +101,7 @@ export default function CollectionTypeModal({
97
101
priority,
98
102
lastModified,
99
103
frequency,
104
+ thumbnail,
100
105
} ) ;
101
106
}
102
107
@@ -108,6 +113,7 @@ export default function CollectionTypeModal({
108
113
setPriority ( '' ) ;
109
114
setFrequency ( '' ) ;
110
115
setLastModified ( 'false' ) ;
116
+ setThumbnail ( '' ) ;
111
117
setEditID ( '' ) ;
112
118
setTypeToEdit ( '' ) ;
113
119
setModalOpen ( false ) ;
@@ -125,13 +131,15 @@ export default function CollectionTypeModal({
125
131
setPriority ( typeToEdit . priority ?. toString ( ) || '' ) ;
126
132
setFrequency ( typeToEdit . frequency || '' ) ;
127
133
setLastModified ( typeToEdit . lastModified || 'false' ) ;
134
+ setThumbnail ( typeToEdit . thumbnail || '' ) ;
128
135
} else {
129
136
setType ( '' ) ;
130
137
setLangcode ( '' ) ;
131
138
setPattern ( '' ) ;
132
139
setPriority ( '' ) ;
133
140
setFrequency ( '' ) ;
134
141
setLastModified ( 'false' ) ;
142
+ setThumbnail ( '' ) ;
135
143
setEditID ( '' ) ;
136
144
}
137
145
} , [ typeToEdit ] ) ;
@@ -163,6 +171,7 @@ export default function CollectionTypeModal({
163
171
if ( type ) {
164
172
const getAllowedFields = async ( ) => {
165
173
const { data } = await get ( `/${ PLUGIN_ID } /admin-allowed-fields?type=${ type } ` ) ;
174
+ setPossibleThumbnailFields ( data . allowedFields ) ;
166
175
167
176
setPatternHint ( 'Possible fields: ' + data . allowedFields . map ( ( field : string ) => `[${ field } ]` ) . join ( ', ' ) ) ;
168
177
if ( pattern === '' ) {
@@ -203,10 +212,10 @@ export default function CollectionTypeModal({
203
212
</ Field . Root >
204
213
</ Grid . Item >
205
214
< Grid . Item >
206
- < Field . Root required width = '100%' hint = "Select a language or leave empty for all languages " >
215
+ < Field . Root required width = '100%' hint = "Select a language or leave empty for the default language " >
207
216
< Field . Label > Lang Code</ Field . Label >
208
217
< SingleSelect name = "langcode" onChange = { handleSelectChange ( setLangcode ) } ref = { langcodeRef } value = { langcode } placeholder = "Select Langcode" disabled = { type === '' } >
209
- < SingleSelectOption value = "-" > None </ SingleSelectOption >
218
+ < SingleSelectOption value = "-" > Default Language </ SingleSelectOption >
210
219
{ locales . map ( ( locale ) => (
211
220
< SingleSelectOption key = { locale . id } value = { locale . code } > { locale . code } </ SingleSelectOption >
212
221
) ) }
@@ -264,6 +273,18 @@ export default function CollectionTypeModal({
264
273
< Field . Hint />
265
274
</ Field . Root >
266
275
</ Grid . Item >
276
+ < Grid . Item >
277
+ < Field . Root width = '100%' hint = "Optional thumbnail image" >
278
+ < Field . Label > Thumbnail</ Field . Label >
279
+ < SingleSelect name = "thumbnail" onChange = { handleSelectChange ( setThumbnail ) } ref = { thumbnailRef } value = { thumbnail } placeholder = "Select Thumbnail" disabled = { type === '' } >
280
+ < SingleSelectOption value = "-" > None</ SingleSelectOption >
281
+ { possibleThumbnailFields . map ( ( field ) => (
282
+ < SingleSelectOption key = { field } value = { field } > { field } </ SingleSelectOption >
283
+ ) ) }
284
+ </ SingleSelect >
285
+ < Field . Hint />
286
+ </ Field . Root >
287
+ </ Grid . Item >
267
288
</ Grid . Root >
268
289
</ Modal . Body >
269
290
< Modal . Footer >
0 commit comments