redirect fixed
This commit is contained in:
parent
bc47e1d39a
commit
01017bb36e
@ -14,8 +14,13 @@ const Login = () => {
|
|||||||
setError('');
|
setError('');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await login(username, password); // Changed to pass username and password separately
|
const userData = await login(username, password);
|
||||||
navigate('/dashboard');
|
console.log('Login result:', userData);
|
||||||
|
if (userData?.isAdmin) {
|
||||||
|
navigate('/admin');
|
||||||
|
} else {
|
||||||
|
navigate('/dashboard');
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setError('Invalid credentials');
|
setError('Invalid credentials');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,40 +28,41 @@ export const AuthProvider = ({ children }) => {
|
|||||||
|
|
||||||
fetchUser();
|
fetchUser();
|
||||||
}, []);
|
}, []);
|
||||||
|
// const login = async (username, password) => {
|
||||||
|
// try {
|
||||||
|
// const response = await api.post('/auth/login', { username, password });
|
||||||
|
// const { access_token, user } = response.data; // Make sure this matches your backend response
|
||||||
|
|
||||||
|
// localStorage.setItem('token', access_token);
|
||||||
|
// setUser(user);
|
||||||
|
// return user;
|
||||||
|
// } catch (error) {
|
||||||
|
// console.error('Login error:', error);
|
||||||
|
// throw error;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
const login = async (username, password) => {
|
const login = async (username, password) => {
|
||||||
try {
|
try {
|
||||||
const response = await api.post('/auth/login', { username, password });
|
const response = await api.post('/auth/login', { username, password });
|
||||||
const { access_token } = response.data; // Make sure this matches your backend response
|
console.log('Login response:', response.data); // Debug log
|
||||||
|
|
||||||
|
const { access_token } = response.data;
|
||||||
localStorage.setItem('token', access_token);
|
localStorage.setItem('token', access_token);
|
||||||
|
|
||||||
// After setting token, fetch user info
|
// Fetch user info after login
|
||||||
const userResponse = await api.get('/auth/user-info');
|
const userResponse = await api.get('/auth/user-info');
|
||||||
setUser(userResponse.data);
|
const userData = userResponse.data;
|
||||||
|
|
||||||
return userResponse.data;
|
setUser(userData);
|
||||||
|
return userData; // Return the user data for redirect logic
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Login error:', error);
|
console.error('Login error:', error);
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// const login = async (username, password) => { // Changed parameters
|
|
||||||
// try {
|
|
||||||
// const response = await api.post('/auth/login', { username, password });
|
|
||||||
// const { token } = response.data; // Updated to match backend response
|
|
||||||
// localStorage.setItem('token', token);
|
|
||||||
|
|
||||||
// // Fetch user info after successful login
|
|
||||||
// const userResponse = await api.get('/auth/user-info');
|
|
||||||
// setUser(userResponse.data);
|
|
||||||
|
|
||||||
// return userResponse.data;
|
|
||||||
// } catch (error) {
|
|
||||||
// console.error('Login error:', error);
|
|
||||||
// throw error;
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
const logout = () => {
|
const logout = () => {
|
||||||
localStorage.removeItem('token');
|
localStorage.removeItem('token');
|
||||||
|
|||||||
@ -8,11 +8,7 @@ const api = axios.create({
|
|||||||
// withCredentials: true,
|
// withCredentials: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
// const api = axios.create({
|
// Add authorization header to all requests
|
||||||
// baseURL: 'http://localhost:3000',
|
|
||||||
// });
|
|
||||||
|
|
||||||
// Add a request interceptor
|
|
||||||
api.interceptors.request.use(
|
api.interceptors.request.use(
|
||||||
(config) => {
|
(config) => {
|
||||||
const token = localStorage.getItem('token');
|
const token = localStorage.getItem('token');
|
||||||
@ -41,65 +37,6 @@ export const downloadDocument = async (documentId) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Request interceptor
|
|
||||||
// api.interceptors.request.use((config) => {
|
|
||||||
// const token = localStorage.getItem('token');
|
|
||||||
// if (token) {
|
|
||||||
// config.headers.Authorization = `Bearer ${token}`;
|
|
||||||
// }
|
|
||||||
// return config;
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // Response interceptor
|
|
||||||
// api.interceptors.response.use(
|
|
||||||
// (response) => response,
|
|
||||||
// (error) => {
|
|
||||||
// if (error.response?.status === 401) {
|
|
||||||
// localStorage.removeItem('token');
|
|
||||||
// }
|
|
||||||
// return Promise.reject(error);
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
|
|
||||||
// const api = axios.create({
|
|
||||||
// baseURL: API_URL,
|
|
||||||
// withCredentials: true,
|
|
||||||
// });
|
|
||||||
|
|
||||||
// api.interceptors.request.use((config) => {
|
|
||||||
// const token = localStorage.getItem('token');
|
|
||||||
// if (token) {
|
|
||||||
// config.headers.Authorization = `Bearer ${token}`;
|
|
||||||
// }
|
|
||||||
// return config;
|
|
||||||
// });
|
|
||||||
// export const createUser = (userData) => api.post('/admin/users', userData);
|
|
||||||
|
|
||||||
// const api = axios.create({
|
|
||||||
// baseURL: import.meta.env.VITE_API_URL || 'http://localhost:3000',
|
|
||||||
// withCredentials: true,
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // Request interceptor
|
|
||||||
// api.interceptors.request.use((config) => {
|
|
||||||
// const token = localStorage.getItem('token');
|
|
||||||
// if (token) {
|
|
||||||
// config.headers.Authorization = `Bearer ${token}`;
|
|
||||||
// }
|
|
||||||
// return config;
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // Response interceptor
|
|
||||||
// api.interceptors.response.use(
|
|
||||||
// (response) => response,
|
|
||||||
// (error) => {
|
|
||||||
// if (error.response?.status === 401) {
|
|
||||||
// localStorage.removeItem('token');
|
|
||||||
// window.location.href = '/login';
|
|
||||||
// }
|
|
||||||
// return Promise.reject(error);
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
export const createUser = (userData) => {
|
export const createUser = (userData) => {
|
||||||
return api.post('/admin/users', {
|
return api.post('/admin/users', {
|
||||||
name: userData.name,
|
name: userData.name,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user