templates #11
@@ -3,7 +3,34 @@ import axios from 'axios';
|
||||
|
||||
const AuthContext = createContext();
|
||||
|
||||
const API_URL = process.env.REACT_APP_BACKEND_URL;
|
||||
// Ensure API_URL is correctly set, with fallback and validation
|
||||
const getApiUrl = () => {
|
||||
const url = process.env.REACT_APP_BACKEND_URL;
|
||||
|
||||
// Log the environment variable for debugging
|
||||
console.log('[AuthContext] Environment check:', {
|
||||
REACT_APP_BACKEND_URL: url,
|
||||
REACT_APP_BASENAME: process.env.REACT_APP_BASENAME,
|
||||
PUBLIC_URL: process.env.PUBLIC_URL
|
||||
});
|
||||
|
||||
if (!url) {
|
||||
console.error('[AuthContext] REACT_APP_BACKEND_URL is not defined!');
|
||||
// Fallback to current origin API (same domain)
|
||||
return window.location.origin.replace('/membership', '');
|
||||
}
|
||||
|
||||
// Remove any trailing /membership or /api from the backend URL
|
||||
const cleanUrl = url.replace(/\/(membership|api)\/?$/, '');
|
||||
|
||||
if (cleanUrl !== url) {
|
||||
console.warn('[AuthContext] Cleaned backend URL:', { original: url, cleaned: cleanUrl });
|
||||
}
|
||||
|
||||
return cleanUrl;
|
||||
};
|
||||
|
||||
const API_URL = getApiUrl();
|
||||
|
||||
export const AuthProvider = ({ children }) => {
|
||||
const [user, setUser] = useState(null);
|
||||
@@ -55,7 +82,11 @@ export const AuthProvider = ({ children }) => {
|
||||
|
||||
const login = async (email, password) => {
|
||||
try {
|
||||
console.log('[AuthContext] Starting login request...');
|
||||
console.log('[AuthContext] Starting login request...', {
|
||||
API_URL: API_URL,
|
||||
envBackendUrl: process.env.REACT_APP_BACKEND_URL,
|
||||
fullUrl: `${API_URL}/api/auth/login`
|
||||
});
|
||||
|
||||
const response = await axios.post(
|
||||
`${API_URL}/api/auth/login`,
|
||||
|
||||
Reference in New Issue
Block a user