/** * homepage.js * * Handles behaviour of the homepage featured image */ ( function () { /** * Set hero content dimensions / layout * Run adaptive backgrounds and set colors */ // eslint-disable-next-line @wordpress/no-global-event-listener document.addEventListener( 'DOMContentLoaded', function () { const homepageContent = document.querySelector( '.page-template-template-homepage .type-page.has-post-thumbnail' ); if ( ! homepageContent ) { // Only apply layout to the homepage content component if it exists on the page return; } const entries = homepageContent.querySelectorAll( '.entry-title, .entry-content' ); for ( let i = 0; i < entries.length; i++ ) { entries[ i ].classList.add( 'loaded' ); } const siteMain = document.querySelector( '.site-main' ); const htmlDirValue = document.documentElement.getAttribute( 'dir' ); const updateDimensions = function () { if ( updateDimensions._tick ) { window.cancelAnimationFrame( updateDimensions._tick ); } updateDimensions._tick = window.requestAnimationFrame( function () { updateDimensions._tick = null; // Make the homepage content full width and centrally aligned. // eslint-disable-next-line @wordpress/no-global-event-listener homepageContent.style.width = window.innerWidth + 'px'; if ( htmlDirValue !== 'rtl' ) { homepageContent.style.marginLeft = -siteMain.getBoundingClientRect().left + 'px'; } else { homepageContent.style.marginRight = -siteMain.getBoundingClientRect().left + 'px'; } } ); }; // On window resize, set hero content dimensions / layout. // eslint-disable-next-line @wordpress/no-global-event-listener window.addEventListener( 'resize', updateDimensions ); updateDimensions(); } ); } )();