@@ -264,24 +264,31 @@ Module.register('MMM-ImmichSlideShow', {
264264 */
265265 fixImageInfo : function ( imageInfo ) {
266266 //validate imageinfo property. This will make sure we have at least 1 valid value
267- const imageInfoRegex = / \b n a m e \b | \b d a t e \b | \b s i n c e \b | \b g e o \b | \b p e o p l e \b | \b a g e \b / gi;
267+ const imageInfoValues = '\\bname\\b|\\bdate\\b|\\bsince\\b|\\bgeo\\b|\\bpeople\\b|\\bage\\b' ;
268+ const imageInfoRegex = new RegExp ( imageInfoValues , 'gi' ) ;
269+
268270 let setToDefault = false ;
269271 let newImageInfo = [ ] ;
270272 if (
271273 Array . isArray ( imageInfo )
272274 ) {
273275 for ( const [ i , infoItem ] of Object . entries ( imageInfo ) ) {
274-
275- if ( ! imageInfoRegex . test ( imageInfo ) ) {
276- setToDefault = true ;
277- break ;
276+ console . debug ( 'Checking imageInfo: ' , i , infoItem ) ;
277+ // Skip any entries that do not have a matching value
278+ if ( imageInfoValues . substring ( infoItem . trim ( ) . toLowerCase ( ) ) ) {
278279 // Make sure to trim the entries and make them lowercase
279- newImageInfo . push ( imageInfo [ i ] . trim ( ) . toLowerCase ( ) ) ;
280+ newImageInfo . push ( infoItem . trim ( ) . toLowerCase ( ) ) ;
281+ } else {
282+ console . warn ( LOG_PREFIX + `invalid image info item '${ infoItem } '` ) ;
280283 }
281284 }
285+ // If nothing matched, then use default
286+ if ( newImageInfo . length === 0 ) {
287+ setToDefault = true ;
288+ }
282289 } else if ( ! imageInfoRegex . test ( imageInfo ) ) {
283290 Log . warn (
284- LOG_PREFIX + 'showImageInfo is set, but imageInfo does not have a valid value. Using date as default!'
291+ LOG_PREFIX + 'showImageInfo is set, 2but imageInfo does not have a valid value. Using date as default!'
285292 ) ;
286293 setToDefault = true ;
287294 } else {
0 commit comments