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) {
|
||||
console.log('👤 User data retrieved from session:', user.value);
|
||||
|
||||
// Redirect to dashboard or intended page
|
||||
console.log('🔄 Redirecting to:', response.redirectTo || '/dashboard');
|
||||
await navigateTo(response.redirectTo || '/dashboard');
|
||||
|
||||
return { success: true };
|
||||
// Return redirect URL for the component to handle
|
||||
console.log('✅ Login successful, returning redirect URL:', response.redirectTo || '/dashboard');
|
||||
return {
|
||||
success: true,
|
||||
redirectTo: response.redirectTo || '/dashboard'
|
||||
};
|
||||
} else {
|
||||
console.warn('❌ Failed to get user data from session after login');
|
||||
// Still redirect since login was successful on server
|
||||
await navigateTo('/dashboard');
|
||||
return { success: true };
|
||||
// Still return success with redirect since login was successful on server
|
||||
return {
|
||||
success: true,
|
||||
redirectTo: '/dashboard'
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -185,10 +185,13 @@ const handleLogin = async () => {
|
|||
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.';
|
||||
}
|
||||
// If successful, the login method will handle the redirect
|
||||
} catch (error: any) {
|
||||
console.error('Login error:', error);
|
||||
loginError.value = authError.value || 'Login failed. Please check your credentials and try again.';
|
||||
|
|
|
|||
Loading…
Reference in New Issue