/** * Upgrades Echo for icon consistency. * Undos work inside Echo to replace our button. */ function init() { if ( document.querySelectorAll( '#pt-notifications-alert a, #pt-notifications-notice a' ).length !== 2 ) { return; } mw.hook( 'ext.echo.NotificationBadgeWidget.onInitialize' ).add( function ( badge ) { const element = badge.$element[ 0 ]; element.classList.add( 'mw-list-item' ); const iconButtonClasses = [ 'mw-ui-button', 'mw-ui-quiet', 'mw-ui-icon', 'mw-ui-icon-element' ]; if ( element.id === 'pt-notifications-alert' ) { const anchor = element.querySelector( 'a' ); anchor.classList.add( ...iconButtonClasses, 'mw-ui-icon-bell' ); anchor.classList.remove( 'oo-ui-icon-bell' ); } if ( element.id === 'pt-notifications-notice' ) { const anchor = element.querySelector( 'a' ); anchor.classList.add( ...iconButtonClasses, 'mw-ui-icon-tray' ); anchor.classList.remove( 'oo-ui-icon-tray' ); } } ); } module.exports = init;