@@ -240,29 +240,26 @@ export class VideoOverlay {
240240 /** @type {'a'|'b' } */
241241 const mobileLayout = 'b' ;
242242
243- if ( this . environment . layout === 'mobile' && mobileLayout === 'a ' ) {
244- const elem = /** @type {DDGVideoOverlayMobileAlt } */ ( document . createElement ( DDGVideoOverlayMobile . CUSTOM_TAG_NAME ) ) ;
243+ if ( this . environment . layout === 'mobile' && mobileLayout === 'b ' ) {
244+ const elem = /** @type {DDGVideoOverlayMobileAlt } */ ( document . createElement ( DDGVideoOverlayMobileAlt . CUSTOM_TAG_NAME ) ) ;
245245 elem . testMode = this . environment . isTestMode ( ) ;
246246 elem . text = mobileStrings ( this . environment . strings ) ;
247- elem . addEventListener ( DDGVideoOverlayMobileAlt . OPEN_INFO , ( ) => this . messages . openInfo ( ) ) ;
248- elem . addEventListener ( DDGVideoOverlayMobileAlt . OPT_OUT , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
249- return this . mobileOptOut ( e . detail . remember ) . catch ( console . error ) ;
250- } ) ;
251- elem . addEventListener ( DDGVideoOverlayMobileAlt . OPT_IN , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
252- return this . mobileOptIn ( e . detail . remember , params ) . catch ( console . error ) ;
253- } ) ;
254247 targetElement . appendChild ( elem ) ;
255248
256249 const drawer = /** @type {DDGVideoDrawerMobile } */ ( document . createElement ( DDGVideoDrawerMobile . CUSTOM_TAG_NAME ) ) ;
257250 drawer . testMode = this . environment . isTestMode ( ) ;
258251 drawer . text = mobileStrings ( this . environment . strings ) ;
252+ drawer . overlay = elem ; /* TODO: Remove hack */
259253 drawer . addEventListener ( DDGVideoDrawerMobile . OPEN_INFO , ( ) => this . messages . openInfo ( ) ) ;
260254 drawer . addEventListener ( DDGVideoDrawerMobile . OPT_OUT , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
261255 return this . mobileOptOut ( e . detail . remember ) . catch ( console . error ) ;
262256 } ) ;
263257 drawer . addEventListener ( DDGVideoDrawerMobile . DISMISS , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
264258 return this . mobileOptOut ( false ) . catch ( console . error ) ; // Dismissal should not persist user's choice. Ignore remember-me value.
265259 } ) ;
260+ drawer . addEventListener ( DDGVideoDrawerMobile . THUMBNAIL_CLICK , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
261+ return this . videoThumbnailClick ( ) ;
262+ } ) ;
266263 drawer . addEventListener ( DDGVideoDrawerMobile . OPT_IN , ( /** @type {CustomEvent<{remember: boolean}> } */ e ) => {
267264 return this . mobileOptIn ( e . detail . remember , params ) . catch ( console . error ) ;
268265 } ) ;
@@ -271,6 +268,8 @@ export class VideoOverlay {
271268 if ( elem . container ) {
272269 this . appendThumbnail ( elem . container ) ;
273270 }
271+
272+ this . altOverlay = elem ;
274273 } else if ( this . environment . layout === 'mobile' ) {
275274 const elem = /** @type {DDGVideoOverlayMobile } */ ( document . createElement ( DDGVideoOverlayMobile . CUSTOM_TAG_NAME ) ) ;
276275 elem . testMode = this . environment . isTestMode ( ) ;
@@ -299,6 +298,10 @@ export class VideoOverlay {
299298 return ( ) => {
300299 document . querySelector ( DDGVideoOverlay . CUSTOM_TAG_NAME ) ?. remove ( ) ;
301300 document . querySelector ( DDGVideoOverlayMobile . CUSTOM_TAG_NAME ) ?. remove ( ) ;
301+ setTimeout ( ( ) => {
302+ document . querySelector ( DDGVideoDrawerMobile . CUSTOM_TAG_NAME ) ?. remove ( ) ;
303+ } , 500 ) ; /* TODO FIX THIS */
304+
302305 controller . abort ( ) ;
303306 } ;
304307 } ) ;
@@ -474,6 +477,15 @@ export class VideoOverlay {
474477 this . destroy ( ) ;
475478 }
476479
480+ videoThumbnailClick ( ) {
481+ console . log ( 'Video thumbnail clicked' ) ;
482+ const pixel = new Pixel ( { name : 'duckplayer.overlay.youtube.watch.here.video-thumbnail' } ) ;
483+
484+ this . messages . sendPixel ( pixel ) ;
485+
486+ return this . destroy ( ) ;
487+ }
488+
477489 /**
478490 * Remove elements, event listeners etc
479491 */
0 commit comments