NeoScan_Radiologist/app/modules/Auth/navigation/navigationUtils.ts
2025-08-05 18:01:36 +05:30

107 lines
2.8 KiB
TypeScript

/*
* File: navigationUtils.ts
* Description: Navigation utilities for Auth module
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/
import { AuthNavigationProp } from './navigationTypes';
/**
* AuthNavigationUtils - Utility functions for Auth module navigation
*
* This module provides helper functions for common navigation patterns
* within the Auth module, ensuring consistent navigation behavior.
*/
/**
* Navigate to Login screen
* @param navigation - Navigation prop from React Navigation
*/
export const navigateToLogin = (navigation: AuthNavigationProp): void => {
navigation.navigate('Login');
};
/**
* Navigate to Sign Up screen
* @param navigation - Navigation prop from React Navigation
*/
export const navigateToSignUp = (navigation: AuthNavigationProp): void => {
navigation.navigate('SignUp');
};
/**
* Go back to previous screen
* @param navigation - Navigation prop from React Navigation
*/
export const goBack = (navigation: AuthNavigationProp): void => {
if (navigation.canGoBack()) {
navigation.goBack();
}
};
/**
* Reset navigation stack to Login screen
* @param navigation - Navigation prop from React Navigation
*/
export const resetToLogin = (navigation: AuthNavigationProp): void => {
navigation.reset({
index: 0,
routes: [{ name: 'Login' }],
});
};
/**
* Reset navigation stack to Sign Up screen
* @param navigation - Navigation prop from React Navigation
*/
export const resetToSignUp = (navigation: AuthNavigationProp): void => {
navigation.reset({
index: 0,
routes: [{ name: 'SignUp' }],
});
};
/**
* Replace current screen with Login screen
* @param navigation - Navigation prop from React Navigation
*/
export const replaceWithLogin = (navigation: AuthNavigationProp): void => {
navigation.replace('Login');
};
/**
* Replace current screen with Sign Up screen
* @param navigation - Navigation prop from React Navigation
*/
export const replaceWithSignUp = (navigation: AuthNavigationProp): void => {
navigation.replace('SignUp');
};
/**
* Navigate to Sign Up screen and clear back stack
* @param navigation - Navigation prop from React Navigation
*/
export const navigateToSignUpAndClearStack = (navigation: AuthNavigationProp): void => {
navigation.reset({
index: 0,
routes: [{ name: 'SignUp' }],
});
};
/**
* Navigate to Login screen and clear back stack
* @param navigation - Navigation prop from React Navigation
*/
export const navigateToLoginAndClearStack = (navigation: AuthNavigationProp): void => {
navigation.reset({
index: 0,
routes: [{ name: 'Login' }],
});
};
/*
* End of File: navigationUtils.ts
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/