File tree Expand file tree Collapse file tree 1 file changed +35
-3
lines changed
_javascript/modules/components Expand file tree Collapse file tree 1 file changed +35
-3
lines changed Original file line number Diff line number Diff line change 4
4
* Dependencies: https://github.com/biati-digital/glightbox
5
5
*/
6
6
7
- const IMG_CLASS = 'popup' ;
7
+ const html = document . documentElement ;
8
+ const lightImages = '.popup:not(.dark)' ;
9
+ const darkImages = '.popup:not(.light)' ;
10
+ let selector = lightImages ;
11
+ let lightbox = GLightbox ( { selector : `${ selector } ` } ) ;
12
+
13
+ if (
14
+ ( html . hasAttribute ( 'data-mode' ) &&
15
+ html . getAttribute ( 'data-mode' ) === 'dark' ) ||
16
+ ( ! html . hasAttribute ( 'data-mode' ) &&
17
+ window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches )
18
+ ) {
19
+ selector = darkImages ;
20
+ }
21
+
22
+ function updateImages ( event ) {
23
+ if (
24
+ event . source === window &&
25
+ event . data &&
26
+ event . data . direction === ModeToggle . ID
27
+ ) {
28
+ if ( selector === lightImages ) {
29
+ selector = darkImages ;
30
+ } else {
31
+ selector = lightImages ;
32
+ }
33
+ }
34
+
35
+ lightbox . destroy ( ) ;
36
+ lightbox = GLightbox ( { selector : `${ selector } ` } ) ;
37
+ }
8
38
9
39
export function imgPopup ( ) {
10
- if ( document . getElementsByClassName ( IMG_CLASS ) . length === 0 ) {
40
+ if ( document . querySelector ( ` ${ selector } ` ) === null ) {
11
41
return ;
12
42
}
13
43
14
- GLightbox ( { selector : `.${ IMG_CLASS } ` } ) ;
44
+ if ( document . getElementById ( 'mode-toggle' ) ) {
45
+ window . addEventListener ( 'message' , updateImages ) ;
46
+ }
15
47
}
You can’t perform that action at this time.
0 commit comments