mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-10 14:07:59 -05:00
* [INJIMOB-3188]: Auto Activation changes Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: Intro slider customization and button/icon theme changes Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: Splash screen and logo changes Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: App icon updates Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: Icon backdrop and intro slider log fixes. Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: Introslider logo changes and ios app icon changes Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> * [INJIMOB-3188]: Update individual ID. Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com> --------- Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>
93 lines
3.1 KiB
TypeScript
93 lines
3.1 KiB
TypeScript
import {useSelector} from '@xstate/react';
|
|
import {
|
|
selectSupportedCredentialTypes,
|
|
selectErrorMessageType,
|
|
selectIsBiometricCancelled,
|
|
selectIsDone,
|
|
selectIsDownloadCredentials,
|
|
selectIsIdle,
|
|
selectIssuers,
|
|
selectIsError,
|
|
selectLoadingReason,
|
|
selectSelectedIssuer,
|
|
selectSelectingCredentialType,
|
|
selectStoring,
|
|
selectVerificationErrorMessage,
|
|
selectIsNonGenericError,
|
|
selectAutoWalletBindingFailure,
|
|
} from '../../machines/Issuers/IssuersSelectors';
|
|
import {ActorRefFrom} from 'xstate';
|
|
import {BOTTOM_TAB_ROUTES} from '../../routes/routesConstants';
|
|
import {logState} from '../../shared/commonUtil';
|
|
import {isAndroid} from '../../shared/constants';
|
|
import {
|
|
IssuerScreenTabEvents,
|
|
IssuersMachine,
|
|
} from '../../machines/Issuers/IssuersMachine';
|
|
import {CredentialTypes} from '../../machines/VerifiableCredential/VCMetaMachine/vc';
|
|
|
|
export function useIssuerScreenController({route, navigation}) {
|
|
const service = route.params.service;
|
|
service.subscribe(logState);
|
|
|
|
return {
|
|
issuers: useSelector(service, selectIssuers),
|
|
selectedIssuer: useSelector(service, selectSelectedIssuer),
|
|
errorMessageType: useSelector(service, selectErrorMessageType),
|
|
isDownloadingCredentials: useSelector(service, selectIsDownloadCredentials),
|
|
isBiometricsCancelled: useSelector(service, selectIsBiometricCancelled),
|
|
isDone: useSelector(service, selectIsDone),
|
|
isIdle: useSelector(service, selectIsIdle),
|
|
isNonGenericError: useSelector(service, selectIsNonGenericError),
|
|
loadingReason: useSelector(service, selectLoadingReason),
|
|
isStoring: useSelector(service, selectStoring),
|
|
isSelectingCredentialType: useSelector(
|
|
service,
|
|
selectSelectingCredentialType,
|
|
),
|
|
supportedCredentialTypes: useSelector(
|
|
service,
|
|
selectSupportedCredentialTypes,
|
|
),
|
|
verificationErrorMessage: useSelector(
|
|
service,
|
|
selectVerificationErrorMessage,
|
|
),
|
|
isAutoWalletBindingFailed: useSelector(
|
|
service,
|
|
selectAutoWalletBindingFailure,
|
|
),
|
|
isError: useSelector(service, selectIsError),
|
|
|
|
CANCEL: () => service.send(IssuerScreenTabEvents.CANCEL()),
|
|
SELECTED_ISSUER: id =>
|
|
service.send(IssuerScreenTabEvents.SELECTED_ISSUER(id)),
|
|
TRY_AGAIN: () => service.send(IssuerScreenTabEvents.TRY_AGAIN()),
|
|
RESET_ERROR: () => service.send(IssuerScreenTabEvents.RESET_ERROR()),
|
|
DOWNLOAD_ID: () => {
|
|
service.send(IssuerScreenTabEvents.DOWNLOAD_ID());
|
|
navigation.navigate(BOTTOM_TAB_ROUTES.home, {screen: 'HomeScreen'});
|
|
},
|
|
SELECTED_CREDENTIAL_TYPE: (credType: CredentialTypes) =>
|
|
service.send(IssuerScreenTabEvents.SELECTED_CREDENTIAL_TYPE(credType)),
|
|
RESET_ERROR_SCREEN: () => {
|
|
service.send(IssuerScreenTabEvents.RESET_ERROR_SCREEN());
|
|
if (isAndroid()) {
|
|
navigation.navigate(BOTTOM_TAB_ROUTES.home, {screen: 'HomeScreen'});
|
|
} else {
|
|
setTimeout(
|
|
() =>
|
|
navigation.navigate(BOTTOM_TAB_ROUTES.home, {screen: 'HomeScreen'}),
|
|
0,
|
|
);
|
|
}
|
|
},
|
|
};
|
|
}
|
|
|
|
export interface IssuerModalProps {
|
|
service?: ActorRefFrom<typeof IssuersMachine>;
|
|
onPress?: () => void;
|
|
isVisible?: boolean;
|
|
}
|