Files
inji-wallet/components/VC/VCItemController.tsx
KiruthikaJeyashankar a6ed9031f5 [INJIMOB-2160] use pixelpass for processing mmdoc data for rendering (#1660)
* [INJIMOB-2160] use pixelpass for processing mmdoc data for rendering

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] fix history not showing properly post download

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] add processing VC logic for iOS

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] modify selectCredential in VCItemSelectors to return selectCredential

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - remove debug logs

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - mark prop credentialWrapper as mandatory

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - optimize imports

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - remove unused functions / code block

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - format code

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] modify pixelpass module to get toJSON api from pixelpass class

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor - optimize imports

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] show keytype for mso_mdoc format VCs

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] use id in mso_mdoc VC as unique VC ID

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] refactor getDisplayId method

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] update ci-client & pixelpass version

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] add runtime asset to gitignore

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] remove unused var

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-2160] bypass verification for mock VCs

This is done since mock VCs are not verifiable as of now.

Co-Authored by: BalachandarG <balachandar.g@thoughtworks.com>
Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

---------

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>
2024-11-06 18:55:27 +05:30

57 lines
2.0 KiB
TypeScript

import {useContext, useRef} from 'react';
import {GlobalContext} from '../../shared/GlobalContext';
import {
selectContext,
selectGeneratedOn,
selectKebabPopUp,
selectWalletBindingResponse,
selectVerifiableCredentialData,
selectCredential,
} from '../../machines/VerifiableCredential/VCItemMachine/VCItemSelectors';
import {useInterpret, useSelector} from '@xstate/react';
import {VCItemProps} from './Views/VCCardView';
import {
createVCItemMachine,
VCItemEvents,
} from '../../machines/VerifiableCredential/VCItemMachine/VCItemMachine';
import {selectIsSavingFailedInIdle} from '../../screens/Home/MyVcsTabMachine';
import {selectIsTourGuide} from '../../machines/auth';
export function useVcItemController(props: VCItemProps) {
const {appService} = useContext(GlobalContext);
const machine = useRef(
createVCItemMachine(
appService.getSnapshot().context.serviceRefs,
props.vcMetadata,
),
);
const VCItemService = useInterpret(machine.current, {devTools: __DEV__});
const authService = appService.children.get('auth');
return {
VCItemService,
context: useSelector(VCItemService, selectContext),
credential: useSelector(VCItemService, selectCredential),
verifiableCredentialData: useSelector(
VCItemService,
selectVerifiableCredentialData,
),
walletBindingResponse: useSelector(
VCItemService,
selectWalletBindingResponse,
),
isKebabPopUp: useSelector(VCItemService, selectKebabPopUp),
DISMISS: () => VCItemService.send(VCItemEvents.DISMISS()),
KEBAB_POPUP: () => VCItemService.send(VCItemEvents.KEBAB_POPUP()),
UPDATE_VC_METADATA: vcMetadata =>
VCItemService.send(VCItemEvents.UPDATE_VC_METADATA(vcMetadata)),
isSavingFailedInIdle: useSelector(
VCItemService,
selectIsSavingFailedInIdle,
),
storeErrorTranslationPath: 'errors.savingFailed',
generatedOn: useSelector(VCItemService, selectGeneratedOn),
isTourGuide: useSelector(authService, selectIsTourGuide),
};
}