@@ -511,9 +511,25 @@ class PfHeader extends HTMLElement {
511511 }
512512
513513 updateNavbar ( ) {
514- const apiKey = localStorage . getItem ( 'api_key' ) ;
515- const username = localStorage . getItem ( 'username' ) || apiKey ;
516- const isLoggedIn = ! ! apiKey ;
514+ // Check for JWT token instead of API key
515+ const jwtToken = localStorage . getItem ( 'jwt_token' ) ;
516+
517+ // Get user data from localStorage
518+ let userObject = null ;
519+ try {
520+ const userJson = localStorage . getItem ( 'user' ) ;
521+ if ( userJson ) {
522+ userObject = JSON . parse ( userJson ) ;
523+ }
524+ } catch ( error ) {
525+ console . error ( 'Error parsing user object from localStorage:' , error ) ;
526+ }
527+
528+ // Get username from user object or fallback to username in localStorage
529+ const username = userObject ?. username || localStorage . getItem ( 'username' ) || 'User' ;
530+
531+ // Check if user is logged in based on JWT token
532+ const isLoggedIn = ! ! jwtToken ;
517533
518534 // Update desktop navigation
519535 const navLinks = this . shadowRoot . querySelector ( '.nav-links' ) ;
@@ -717,8 +733,12 @@ class PfHeader extends HTMLElement {
717733 }
718734
719735 logout ( ) {
720- // Clear all localStorage items
721- localStorage . clear ( ) ;
736+ // Clear JWT token and user data
737+ localStorage . removeItem ( 'jwt_token' ) ;
738+ localStorage . removeItem ( 'username' ) ;
739+ localStorage . removeItem ( 'user' ) ;
740+ localStorage . removeItem ( 'subscription_data' ) ;
741+ localStorage . removeItem ( 'api_key' ) ; // Remove legacy API key if present
722742
723743 // Clear all cookies
724744 const cookies = document . cookie . split ( ";" ) ;
0 commit comments