mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 13:38:01 -05:00
* chore(INJI-195): upgrade react native version and dependencies * chore(INJI-195): upgrade expo version and dependencies * chore(INJI-195): modify associated files on version upgrade * chore(INJI-295): fixed react native flipper and patch packages * chore(INJI-195): fix for expo prebuild * chore(INJI-195): expo linked to android/ios projects * chore(INJI-195): update metro config * chore(INJI-195): fix ios build with mmkv storage patch * chore(INJI-195): gradle version modified * chore(INJI-195): fixed rn version 0.71.8 due to mmkv library issue * chore(INJI-195): removed files in android * chore(INJI-195): fix 0.71.8 for iOS project through pods with expo linking * chore(INJI-195): fix for custom fonts added through pods due to rn linkage * chore(INJI-195): fix for removing assets.car generated from pods * Modify Node version in pipeline (#806) * chore(INJI-195): fix for android splash screen not shown up * chore(INJI-195): upgraded to node 18 in pipeline * chore(INJI-195): add the pod install twice to remove duplicates via script workaround (#807) Signed-off-by: dhivya0413 <120356578+dhivya0413@users.noreply.github.com> * INJI-195 Set the signing team for iOS (#810) * chore(INJI-195): add the pod install twice to remove duplicates via script workaround * chore(INJI-195): set the signing team for ios build --------- Signed-off-by: dhivya0413 <120356578+dhivya0413@users.noreply.github.com> * Modify github runner to self hosted runner (#811) * chore(INJI-195): add the pod install twice to remove duplicates via script workaround * chore(INJI-195): set the signing team for ios build * chore(INJI-195): set the self hosted runner for ios build --------- Signed-off-by: dhivya0413 <120356578+dhivya0413@users.noreply.github.com> * Modify self hosted runner to github hosted runner (#813) * chore(INJI-195): add the pod install twice to remove duplicates via script workaround * chore(INJI-195): set the signing team for ios build * chore(INJI-195): set the self hosted runner for ios build * chore(INJI-195): modify the self hosted to github hosted runner --------- Signed-off-by: dhivya0413 <120356578+dhivya0413@users.noreply.github.com> * chore(INJI-195): modify the self hosted to github hosted runner * chore(INJI-195): set the code signing identity for ios build * chore(INJI-195): assigned app icon files to asset --------- Signed-off-by: dhivya0413 <120356578+dhivya0413@users.noreply.github.com> Signed-off-by: Swati Goel <meet2swati@gmail.com> Co-authored-by: Swati Goel <meet2swati@gmail.com>
97 lines
3.0 KiB
TypeScript
97 lines
3.0 KiB
TypeScript
import {NavigationProp, useNavigation} from '@react-navigation/native';
|
|
import {useSelector} from '@xstate/react';
|
|
import {useContext, useEffect} from 'react';
|
|
|
|
import {MainBottomTabParamList} from '../../routes/main';
|
|
import {GlobalContext} from '../../shared/GlobalContext';
|
|
import {
|
|
selectIsSavingFailedInViewingVc,
|
|
selectIsWaitingForConnection,
|
|
selectSenderInfo,
|
|
selectIsDone,
|
|
selectIsNavigatingToReceivedCards,
|
|
selectIsNavigatingToHome,
|
|
} from '../../machines/bleShare/request/selectors';
|
|
import {
|
|
selectIsAccepted,
|
|
selectIsDisconnected,
|
|
selectIsHandlingBleError,
|
|
selectIsRejected,
|
|
selectIsReviewing,
|
|
selectBleError,
|
|
} from '../../machines/bleShare/commonSelectors';
|
|
import {RequestEvents} from '../../machines/bleShare/request/requestMachine';
|
|
import {
|
|
BOTTOM_TAB_ROUTES,
|
|
REQUEST_ROUTES,
|
|
RequestStackParamList,
|
|
} from '../../routes/routesConstants';
|
|
|
|
type RequestLayoutNavigation = NavigationProp<
|
|
RequestStackParamList & MainBottomTabParamList
|
|
>;
|
|
|
|
export function useRequestLayout() {
|
|
const {appService} = useContext(GlobalContext);
|
|
const requestService = appService.children.get('request');
|
|
const navigation = useNavigation<RequestLayoutNavigation>();
|
|
|
|
useEffect(() => {
|
|
const subscriptions = [
|
|
navigation.addListener('focus', () =>
|
|
requestService.send(RequestEvents.SCREEN_FOCUS()),
|
|
),
|
|
navigation.addListener('blur', () =>
|
|
requestService.send(RequestEvents.SCREEN_BLUR()),
|
|
),
|
|
];
|
|
|
|
return () => {
|
|
subscriptions.forEach(unsubscribe => unsubscribe());
|
|
};
|
|
}, []);
|
|
|
|
const isReviewing = useSelector(requestService, selectIsReviewing);
|
|
const isDone = useSelector(requestService, selectIsDone);
|
|
const isWaitingForConnection = useSelector(
|
|
requestService,
|
|
selectIsWaitingForConnection,
|
|
);
|
|
const isNavigatingToReceivedCards = useSelector(
|
|
requestService,
|
|
selectIsNavigatingToReceivedCards,
|
|
);
|
|
const isNavigationToHome = useSelector(
|
|
requestService,
|
|
selectIsNavigatingToHome,
|
|
);
|
|
useEffect(() => {
|
|
if (isNavigationToHome) {
|
|
navigation.navigate(BOTTOM_TAB_ROUTES.home);
|
|
} else if (isReviewing) {
|
|
navigation.navigate(REQUEST_ROUTES.ReceiveVcScreen);
|
|
} else if (isWaitingForConnection) {
|
|
navigation.navigate(REQUEST_ROUTES.RequestScreen);
|
|
}
|
|
}, [isNavigationToHome, isReviewing, isWaitingForConnection]);
|
|
|
|
return {
|
|
senderInfo: useSelector(requestService, selectSenderInfo),
|
|
|
|
isAccepted: useSelector(requestService, selectIsAccepted),
|
|
isRejected: useSelector(requestService, selectIsRejected),
|
|
isDisconnected: useSelector(requestService, selectIsDisconnected),
|
|
isBleError: useSelector(requestService, selectIsHandlingBleError),
|
|
bleError: useSelector(requestService, selectBleError),
|
|
IsSavingFailedInViewingVc: useSelector(
|
|
requestService,
|
|
selectIsSavingFailedInViewingVc,
|
|
),
|
|
isReviewing,
|
|
isDone,
|
|
isNavigatingToReceivedCards,
|
|
DISMISS: () => requestService.send(RequestEvents.DISMISS()),
|
|
RESET: () => requestService.send(RequestEvents.RESET()),
|
|
};
|
|
}
|