11import { createContext , useContext , useState , useEffect , ReactNode } from 'react'
22import { authApi } from '../services/api'
3+ import { getStorageKey } from '../utils/storage'
34
45interface User {
56 id : string
@@ -21,7 +22,7 @@ const AuthContext = createContext<AuthContextType | undefined>(undefined)
2122
2223export function AuthProvider ( { children } : { children : ReactNode } ) {
2324 const [ user , setUser ] = useState < User | null > ( null )
24- const [ token , setToken ] = useState < string | null > ( localStorage . getItem ( 'token' ) )
25+ const [ token , setToken ] = useState < string | null > ( localStorage . getItem ( getStorageKey ( 'token' ) ) )
2526 const [ isLoading , setIsLoading ] = useState ( true )
2627
2728 // Check if user is admin
@@ -30,7 +31,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
3031 useEffect ( ( ) => {
3132 const initAuth = async ( ) => {
3233 console . log ( '🔐 AuthContext: Initializing authentication...' )
33- const savedToken = localStorage . getItem ( 'token' )
34+ const savedToken = localStorage . getItem ( getStorageKey ( 'token' ) )
3435 console . log ( '🔐 AuthContext: Saved token exists:' , ! ! savedToken )
3536
3637 if ( savedToken ) {
@@ -44,7 +45,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
4445 } catch ( error ) {
4546 console . error ( '❌ AuthContext: Token verification failed:' , error )
4647 // Token is invalid, clear it
47- localStorage . removeItem ( 'token' )
48+ localStorage . removeItem ( getStorageKey ( 'token' ) )
4849 setToken ( null )
4950 setUser ( null )
5051 }
@@ -64,9 +65,9 @@ export function AuthProvider({ children }: { children: ReactNode }) {
6465
6566 const { access_token } = response . data
6667 setToken ( access_token )
67- localStorage . setItem ( 'token' , access_token )
68+ localStorage . setItem ( getStorageKey ( 'token' ) , access_token )
6869 // Store JWT for Mycelia auto-login (enables seamless access to Mycelia frontend)
69- localStorage . setItem ( 'mycelia_jwt_token' , access_token )
70+ localStorage . setItem ( getStorageKey ( 'mycelia_jwt_token' ) , access_token )
7071
7172 // Get user info
7273 const userResponse = await authApi . getMe ( )
@@ -100,8 +101,8 @@ export function AuthProvider({ children }: { children: ReactNode }) {
100101 const logout = ( ) => {
101102 setUser ( null )
102103 setToken ( null )
103- localStorage . removeItem ( 'token' )
104- localStorage . removeItem ( 'mycelia_jwt_token' )
104+ localStorage . removeItem ( getStorageKey ( 'token' ) )
105+ localStorage . removeItem ( getStorageKey ( 'mycelia_jwt_token' ) )
105106 }
106107
107108 return (
0 commit comments