mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 21:48:04 -05:00
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import { useSelector } from '@xstate/react';
|
|
import { useContext } from 'react';
|
|
import {
|
|
ScanEvents,
|
|
selectAccepted,
|
|
selectReason,
|
|
selectReceiverInfo,
|
|
selectRejected,
|
|
selectSelectingVc,
|
|
selectSendingVc,
|
|
selectVcName,
|
|
} from '../../machines/scan';
|
|
import { selectVCLabel } from '../../machines/settings';
|
|
import { selectShareableVcs } from '../../machines/vc';
|
|
import { GlobalContext } from '../../shared/GlobalContext';
|
|
import { VC } from '../../types/vc';
|
|
|
|
export function useSendVcModal() {
|
|
const { appService } = useContext(GlobalContext);
|
|
const scanService = appService.children.get('scan');
|
|
const settingsService = appService.children.get('settings');
|
|
const vcService = appService.children.get('vc');
|
|
|
|
return {
|
|
receiverInfo: useSelector(scanService, selectReceiverInfo),
|
|
reason: useSelector(scanService, selectReason),
|
|
vcName: useSelector(scanService, selectVcName),
|
|
VCLabel: useSelector(settingsService, selectVCLabel),
|
|
vcKeys: useSelector(vcService, selectShareableVcs),
|
|
|
|
isSelectingVc: useSelector(scanService, selectSelectingVc),
|
|
isSendingVc: useSelector(scanService, selectSendingVc),
|
|
isAccepted: useSelector(scanService, selectAccepted),
|
|
isRejected: useSelector(scanService, selectRejected),
|
|
|
|
ACCEPT_REQUEST: () => scanService.send(ScanEvents.ACCEPT_REQUEST()),
|
|
CANCEL: () => scanService.send(ScanEvents.CANCEL()),
|
|
SELECT_VC: (vc: VC) => scanService.send(ScanEvents.SELECT_VC(vc)),
|
|
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)),
|
|
};
|
|
}
|