redirect fixed

This commit is contained in:
dimitar 2024-11-02 00:33:52 +01:00
parent bc47e1d39a
commit 01017bb36e
3 changed files with 29 additions and 86 deletions

View File

@ -14,8 +14,13 @@ const Login = () => {
setError('');
try {
await login(username, password); // Changed to pass username and password separately
navigate('/dashboard');
const userData = await login(username, password);
console.log('Login result:', userData);
if (userData?.isAdmin) {
navigate('/admin');
} else {
navigate('/dashboard');
}
} catch (err) {
setError('Invalid credentials');
}

View File

@ -28,40 +28,41 @@ export const AuthProvider = ({ children }) => {
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) => {
try {
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);
// After setting token, fetch user info
// Fetch user info after login
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) {
console.error('Login error:', 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 = () => {
localStorage.removeItem('token');

View File

@ -8,11 +8,7 @@ const api = axios.create({
// withCredentials: true,
});
// const api = axios.create({
// baseURL: 'http://localhost:3000',
// });
// Add a request interceptor
// Add authorization header to all requests
api.interceptors.request.use(
(config) => {
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) => {
return api.post('/admin/users', {
name: userData.name,