@@ -54,7 +54,7 @@ import {
5454} from '../../languages/en/ui' ;
5555import Logout from '../Logout/Logout' ;
5656import '../../App.css' ;
57- import './Header.css' ;
57+ import styles from './Header.module .css' ;
5858import hasPermission , { cantUpdateDevAdminDetails } from '../../utils/permissions' ;
5959import {
6060 getUnreadUserNotifications ,
@@ -192,6 +192,44 @@ export function Header(props) {
192192 } ;
193193 } , [ user . userid , props . auth . firstName ] ) ;
194194
195+ // Debugging Enhancement: Monitor window resize events for responsive testing
196+ useEffect ( ( ) => {
197+ const handleResize = ( ) => {
198+ const currentWidth = window . innerWidth ;
199+ // eslint-disable-next-line no-console
200+ console . log ( `[Header Debug] Window resized to: ${ currentWidth } px` ) ;
201+
202+ // Log breakpoint information for debugging
203+ if ( currentWidth >= 1728 ) {
204+ // eslint-disable-next-line no-console
205+ console . log ( `[Header Debug] Breakpoint: Large screen (90%+) - Owner message below timer` ) ;
206+ } else if ( currentWidth >= 1400 ) {
207+ // eslint-disable-next-line no-console
208+ console . log ( `[Header Debug] Breakpoint: Desktop - Centered layout` ) ;
209+ } else if ( currentWidth >= 1200 ) {
210+ // eslint-disable-next-line no-console
211+ console . log ( `[Header Debug] Breakpoint: Medium desktop - Centered layout` ) ;
212+ } else if ( currentWidth >= 768 ) {
213+ // eslint-disable-next-line no-console
214+ console . log ( `[Header Debug] Breakpoint: Tablet - Stacked layout` ) ;
215+ } else {
216+ // eslint-disable-next-line no-console
217+ console . log ( `[Header Debug] Breakpoint: Mobile - Compact vertical layout` ) ;
218+ }
219+ } ;
220+
221+ // Log initial window size
222+ handleResize ( ) ;
223+
224+ // Add resize event listener
225+ window . addEventListener ( 'resize' , handleResize ) ;
226+
227+ // Cleanup event listener on component unmount
228+ return ( ) => {
229+ window . removeEventListener ( 'resize' , handleResize ) ;
230+ } ;
231+ } , [ ] ) ;
232+
195233 useEffect ( ( ) => {
196234 if ( props . auth . isAuthenticated ) {
197235 props . getHeaderData ( props . auth . user . userid ) ;
@@ -340,29 +378,36 @@ export function Header(props) {
340378
341379 const viewingUser = JSON . parse ( window . sessionStorage . getItem ( 'viewingUser' ) ) ;
342380 return (
343- < div className = { `header-wrapper ${ darkMode ? ' dark-mode' : '' } ` } data-testid = "header" >
344- < Navbar className = " py-3 navbar" color = "dark" dark expand = "md" >
381+ < div className = { `${ styles . headerWrapper } ${ darkMode ? ` ${ styles . darkMode } ` : '' } ` } data-testid = "header" >
382+ < Navbar className = { ` py-3 ${ styles . navbar } ` } color = "dark" dark expand = "md" >
345383 { logoutPopup && < Logout open = { logoutPopup } setLogoutPopup = { setLogoutPopup } /> }
346384 { showPromotionsPopup &&
347385 ( < DisplayBox onClose = { ( ) => setShowPromotionsPopup ( false ) } /> ) }
348- < div
349- className = "timer-message-section"
350- style = { user . role === 'Owner' ? { marginRight : '0.5rem' } : { marginRight : '1rem' } }
351- >
352- { isAuthenticated && < Timer darkMode = { darkMode } /> }
353- { isAuthenticated && (
354- < div className = "owner-message" >
355- < OwnerMessage />
356- </ div >
357- ) }
358- </ div >
359- < NavbarToggler onClick = { toggle } />
360- { isAuthenticated && (
361- < Collapse isOpen = { isOpen } navbar >
362- < Nav className = "ml-auto nav-links d-flex" navbar >
363- < div
364- className = "d-flex justify-content-center align-items-center"
365- style = { { width : '100%' } }
386+
387+ < div className = "d-flex justify-content-between align-items-center w-100 p-3" >
388+ { /* Left Component - Timer */ }
389+ < div className = { styles . leftSection } >
390+ { isAuthenticated && < Timer darkMode = { darkMode } /> }
391+ </ div >
392+
393+ { /* Center Component - Owner Message */ }
394+ < div className = { `${ styles . centerSection } text-center flex-grow-1` } >
395+ { isAuthenticated && (
396+ < div className = { styles . ownerMessage } >
397+ < OwnerMessage />
398+ </ div >
399+ ) }
400+ </ div >
401+
402+ { /* Right Component - Navigation */ }
403+ < div className = { styles . rightSection } >
404+ < NavbarToggler onClick = { toggle } />
405+ { isAuthenticated && (
406+ < Collapse isOpen = { isOpen } navbar >
407+ < Nav className = { `${ styles . navLinks } d-flex` } navbar >
408+ < div
409+ className = "d-flex justify-content-center align-items-center"
410+ style = { { width : '100%' } }
366411 >
367412 { canUpdateTask && (
368413 < NavItem className = "responsive-spacing" >
@@ -615,6 +660,8 @@ export function Header(props) {
615660 </ Nav >
616661 </ Collapse >
617662 ) }
663+ </ div >
664+ </ div >
618665 </ Navbar >
619666 { ! isAuthUser && (
620667 < PopUpBar
0 commit comments