mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 13:38:01 -05:00
* feat(inji-344): Use VC Key class instead of separate functions for managing vc key * feat(inji-344): Use properties from VcKey Class instead of reading from vckey string * feat(inji-344): Rename vcKey to vcMetadata * feat(inji-344): Use vc's unique id or vckey instead of joined string of vc metadata * feat(inji-344): Use vc key instead of unique id to avoid confusion. Fix issues reg parsing vc metadata * feat(inji-344):fix redownloading issue Co-authored-by: Tilak <tilakpuli15@gmail.com> * feat(inji-344): Remove vc getting stored on update of pin status * feat(inji-344): update other vc's pin status to false when any vc is pinned * feat(inji-344): remove hash ID for UIN * feat(inji-344): revert google services json * feat(inji-344): remove mmkv logs added for debugging * feat(inji-344): fix received vcs not getting displayed on reopen of app * feat(inji-344): fix id not shown in revoke component --------- Co-authored-by: Sri Kanth Kola <srikanthsri7447@gmail.com>
66 lines
2.6 KiB
TypeScript
66 lines
2.6 KiB
TypeScript
import { useSelector } from '@xstate/react';
|
|
import { useContext, useState } from 'react';
|
|
import { ActorRefFrom } from 'xstate';
|
|
import { selectShareableVcsMetadata } from '../../machines/vc';
|
|
import { vcItemMachine } from '../../machines/vcItem';
|
|
import { GlobalContext } from '../../shared/GlobalContext';
|
|
import {
|
|
selectIsSelectingVc,
|
|
selectReason,
|
|
selectReceiverInfo,
|
|
selectSelectedVc,
|
|
selectVcName,
|
|
} from '../../machines/bleShare/scan/selectors';
|
|
import {
|
|
selectIsCancelling,
|
|
selectIsInvalidIdentity,
|
|
selectIsVerifyingIdentity,
|
|
} from '../../machines/bleShare/commonSelectors';
|
|
import { ScanEvents } from '../../machines/bleShare/scan/scanMachine';
|
|
|
|
export function useSendVcScreen() {
|
|
const { appService } = useContext(GlobalContext);
|
|
const scanService = appService.children.get('scan');
|
|
const vcService = appService.children.get('vc');
|
|
|
|
const CANCEL = () => scanService.send(ScanEvents.CANCEL());
|
|
|
|
const [selectedIndex, setSelectedIndex] = useState<number>(null);
|
|
|
|
return {
|
|
selectedIndex,
|
|
TOGGLE_USER_CONSENT: () =>
|
|
scanService.send(ScanEvents.TOGGLE_USER_CONSENT()),
|
|
SELECT_VC_ITEM:
|
|
(index: number) => (vcRef: ActorRefFrom<typeof vcItemMachine>) => {
|
|
setSelectedIndex(index);
|
|
const { serviceRefs, ...vcData } = vcRef.getSnapshot().context;
|
|
scanService.send(ScanEvents.SELECT_VC(vcData));
|
|
},
|
|
|
|
receiverInfo: useSelector(scanService, selectReceiverInfo),
|
|
reason: useSelector(scanService, selectReason),
|
|
vcName: useSelector(scanService, selectVcName),
|
|
shareableVcsMetadata: useSelector(vcService, selectShareableVcsMetadata),
|
|
selectedVc: useSelector(scanService, selectSelectedVc),
|
|
|
|
isSelectingVc: useSelector(scanService, selectIsSelectingVc),
|
|
isVerifyingIdentity: useSelector(scanService, selectIsVerifyingIdentity),
|
|
isInvalidIdentity: useSelector(scanService, selectIsInvalidIdentity),
|
|
isCancelling: useSelector(scanService, selectIsCancelling),
|
|
|
|
CANCEL,
|
|
ACCEPT_REQUEST: () => scanService.send(ScanEvents.ACCEPT_REQUEST()),
|
|
VERIFY_AND_ACCEPT_REQUEST: () =>
|
|
scanService.send(ScanEvents.VERIFY_AND_ACCEPT_REQUEST()),
|
|
DISMISS: () => scanService.send(ScanEvents.DISMISS()),
|
|
UPDATE_REASON: (reason: string) =>
|
|
scanService.send(ScanEvents.UPDATE_REASON(reason)),
|
|
UPDATE_VC_NAME: (vcName: string) =>
|
|
scanService.send(ScanEvents.UPDATE_VC_NAME(vcName)),
|
|
FACE_VALID: () => scanService.send(ScanEvents.FACE_VALID()),
|
|
FACE_INVALID: () => scanService.send(ScanEvents.FACE_INVALID()),
|
|
RETRY_VERIFICATION: () => scanService.send(ScanEvents.RETRY_VERIFICATION()),
|
|
};
|
|
}
|