@@ -30,6 +30,39 @@ let isTouching = false;
3030 */
3131let lastTouchTime = 0 ;
3232
33+ /**
34+ * Returns the appropriate src URL for an image
35+ *
36+ * @param {Object } imageMetadata Image metadata object
37+ * @return {string } The source URL
38+ */
39+ function getImageSrc ( imageMetadata ) {
40+ return (
41+ imageMetadata . uploadedSrc ||
42+ 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='
43+ ) ;
44+ }
45+
46+ /**
47+ * Returns the appropriate srcset for an image
48+ *
49+ * @param {Object } imageMetadata Image metadata object
50+ * @return {string } The srcset value
51+ */
52+ function getImageSrcset ( imageMetadata ) {
53+ return imageMetadata . lightboxSrcset || '' ;
54+ }
55+
56+ /**
57+ * Returns the appropriate sizes attribute for an image
58+ *
59+ * @param {Object } imageMetadata Image metadata object
60+ * @return {string } The sizes value, defaulting to 100vw
61+ */
62+ function getImageSizes ( imageMetadata ) {
63+ return imageMetadata . lightboxSizes || '100vw' ;
64+ }
65+
3366const { state, actions, callbacks } = store (
3467 'core/image' ,
3568 {
@@ -50,16 +83,13 @@ const { state, actions, callbacks } = store(
5083 return state . overlayOpened ? 'true' : null ;
5184 } ,
5285 get enlargedSrc ( ) {
53- return (
54- state . currentImage . uploadedSrc ||
55- 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='
56- ) ;
86+ return getImageSrc ( state . currentImage ) ;
5787 } ,
5888 get enlargedSrcset ( ) {
59- return state . currentImage . lightboxSrcset || '' ;
89+ return getImageSrcset ( state . currentImage ) ;
6090 } ,
6191 get enlargedSizes ( ) {
62- return state . currentImage . lightboxSizes || '100vw' ;
92+ return getImageSizes ( state . currentImage ) ;
6393 } ,
6494 get figureStyles ( ) {
6595 return (
@@ -216,15 +246,15 @@ const { state, actions, callbacks } = store(
216246 const imageLink = document . createElement ( 'link' ) ;
217247 imageLink . rel = 'preload' ;
218248 imageLink . as = 'image' ;
219- imageLink . href = imageMetadata . uploadedSrc ;
249+ imageLink . href = getImageSrc ( imageMetadata ) ;
220250
221251 // Apply srcset if available for responsive preloading
222- const srcset = imageMetadata . lightboxSrcset ;
252+ const srcset = getImageSrcset ( imageMetadata ) ;
223253 if ( srcset ) {
224254 imageLink . setAttribute ( 'imagesrcset' , srcset ) ;
225255 imageLink . setAttribute (
226256 'imagesizes' ,
227- imageMetadata . lightboxSizes || '100vw'
257+ getImageSizes ( imageMetadata )
228258 ) ;
229259 }
230260
0 commit comments