Refactor login flow to return redirect URL instead of direct navigation
Build And Push Image / docker (push) Successful in 2m43s
Details
Build And Push Image / docker (push) Successful in 2m43s
Details
Move navigation responsibility from useAuth composable to login page component for better separation of concerns and component control.
This commit is contained in:
parent
af4fae6378
commit
789ecd7eab
|
|
@ -79,16 +79,19 @@ export const useAuth = () => {
|
||||||
if (sessionSuccess) {
|
if (sessionSuccess) {
|
||||||
console.log('👤 User data retrieved from session:', user.value);
|
console.log('👤 User data retrieved from session:', user.value);
|
||||||
|
|
||||||
// Redirect to dashboard or intended page
|
// Return redirect URL for the component to handle
|
||||||
console.log('🔄 Redirecting to:', response.redirectTo || '/dashboard');
|
console.log('✅ Login successful, returning redirect URL:', response.redirectTo || '/dashboard');
|
||||||
await navigateTo(response.redirectTo || '/dashboard');
|
return {
|
||||||
|
success: true,
|
||||||
return { success: true };
|
redirectTo: response.redirectTo || '/dashboard'
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
console.warn('❌ Failed to get user data from session after login');
|
console.warn('❌ Failed to get user data from session after login');
|
||||||
// Still redirect since login was successful on server
|
// Still return success with redirect since login was successful on server
|
||||||
await navigateTo('/dashboard');
|
return {
|
||||||
return { success: true };
|
success: true,
|
||||||
|
redirectTo: '/dashboard'
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -185,10 +185,13 @@ const handleLogin = async () => {
|
||||||
rememberMe: credentials.value.rememberMe
|
rememberMe: credentials.value.rememberMe
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!result.success) {
|
if (result.success) {
|
||||||
|
// Handle redirect from the component
|
||||||
|
console.log('🔄 Login successful, redirecting to:', result.redirectTo);
|
||||||
|
await navigateTo(result.redirectTo || '/dashboard');
|
||||||
|
} else {
|
||||||
loginError.value = result.error || 'Login failed. Please check your credentials and try again.';
|
loginError.value = result.error || 'Login failed. Please check your credentials and try again.';
|
||||||
}
|
}
|
||||||
// If successful, the login method will handle the redirect
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
console.error('Login error:', error);
|
console.error('Login error:', error);
|
||||||
loginError.value = authError.value || 'Login failed. Please check your credentials and try again.';
|
loginError.value = authError.value || 'Login failed. Please check your credentials and try again.';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue