1+ // import { sendEvent } from './events'
12import Cookies from 'js-cookie'
23
4+ // Determines whether images are hidden or displayed on first visit.
5+ const hideImagesByDefault = false
6+
37// Set the image placeholder icon here.
48const placeholderImagePath = '/assets/images/octicons/image.svg'
59
610/*
711 * This module adds a new icon button in the margin to toggle all images on the page.
812 * It uses cookies to keep track of a user's selected image preference.
913 */
10- export default function ( hideImagesByDefault = false , focusButtonByDefault = false ) {
14+ export default function ( ) {
1115 const toggleImagesBtn = document . getElementById ( 'js-toggle-images' )
1216 if ( ! toggleImagesBtn ) return
1317
@@ -21,9 +25,7 @@ export default function (hideImagesByDefault = false, focusButtonByDefault = fal
2125 toggleImagesBtn . removeAttribute ( 'hidden' )
2226
2327 // Look for a cookie with image visibility preference; otherwise, use the default.
24- const hideImagesPreferred = Cookies . get ( 'hideImagesPreferred' ) === 'false'
25- ? false
26- : Cookies . get ( 'hideImagesPreferred' ) === 'true' || hideImagesByDefault
28+ const hideImagesPreferred = ( Cookies . get ( 'hideImagesPreferred' ) === 'true' ) || hideImagesByDefault
2729
2830 // Hide the images if that is the preference.
2931 if ( hideImagesPreferred ) {
@@ -40,18 +42,10 @@ export default function (hideImagesByDefault = false, focusButtonByDefault = fal
4042
4143 // Set the starting state depending on user preferences.
4244 if ( hideImagesPreferred ) {
43- onIcon . setAttribute ( 'hidden' , true )
4445 offIcon . removeAttribute ( 'hidden' )
4546 toggleImagesBtn . setAttribute ( 'aria-label' , tooltipImagesOff )
46-
47- // Show the tooltip if images are hidden by default to help users see the toggle button.
48- // Downside: the button will begin with focus whenever the user goes to a new page.
49- if ( focusButtonByDefault ) {
50- toggleImagesBtn . focus ( { preventScroll : true } )
51- }
5247 } else {
5348 onIcon . removeAttribute ( 'hidden' )
54- offIcon . setAttribute ( 'hidden' , true )
5549 toggleImagesBtn . setAttribute ( 'aria-label' , tooltipImagesOn )
5650 }
5751
@@ -83,6 +77,9 @@ export default function (hideImagesByDefault = false, focusButtonByDefault = fal
8377
8478 // Toggle the action on every click.
8579 showOnNextClick = ! showOnNextClick
80+
81+ // TODO Track image toggle events
82+ // sendEvent({ type: 'imageToggle' })
8683 } )
8784}
8885
0 commit comments