26 lines
808 B
TypeScript
26 lines
808 B
TypeScript
import { NativeStackNavigationProp } from '@react-navigation/native-stack';
|
|
|
|
import { settingsStore } from '../stores/Stores';
|
|
|
|
const protectedNavigation = async (
|
|
navigation: NativeStackNavigationProp<any, any>,
|
|
route: string,
|
|
disactivatePOS?: boolean,
|
|
routeParams?: any
|
|
) => {
|
|
const { posStatus, settings, setPosStatus } = settingsStore;
|
|
const loginRequired = settings && (settings.passphrase || settings.pin);
|
|
const posEnabled = posStatus === 'active';
|
|
|
|
if (posEnabled && loginRequired) {
|
|
navigation.navigate('Lockscreen', {
|
|
pendingNavigation: { screen: route, params: routeParams }
|
|
});
|
|
} else {
|
|
if (disactivatePOS) setPosStatus('inactive');
|
|
navigation.navigate(route, routeParams);
|
|
}
|
|
};
|
|
|
|
export { protectedNavigation };
|