import { getGlobal } from 'reactn' import { navigate } from '../navigation/NavigationService' import { Routes } from '../navigation/Routes' const redirectToRegister = () => { try { const activeRoute = getGlobal()?.activeRouteName if (activeRoute === Routes.Register) { return } } catch (error) { console.warn('authRedirect: unable to read active route', error) } navigate(Routes.Register) } export const ensureAuthenticated = (currentUID, options = {}) => { const { onIntercept } = options || {} if (currentUID) { return true } try { if (typeof onIntercept === 'function') { onIntercept() } } catch (error) { console.warn('authRedirect: onIntercept error', error) } redirectToRegister() return false } export const withAuthGuard = async (currentUID, handler, options = {}) => { if (!ensureAuthenticated(currentUID, options)) { return } return handler?.() } export default ensureAuthenticated