[INJIMOB-2242]: Vc Verifier integration with Inji (#1661)

* [INJIMOB-2242]: Integrating VcVerifier with Vc Validation and support for mutliple format into Inji for Android.

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOM-2242]: Handling Error codes for Verification failures.

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Passing credential format to VcVerifier.

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Refactoring the code and updating the locales

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Updating the locales for verification error codes

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Updating talisman file.

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]:Updating package-lock.json and adding comment in verifyCredential.

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Reverting package-lock.json to align with develop

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Revert package-lock.json

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

* [INJIMOB-2242]: Update talismanrc

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>

---------

Signed-off-by: BalachandarG <balachandar.g@thoughtworks.com>
This commit is contained in:
balachandarg-tw
2024-11-06 12:37:58 +05:30
committed by GitHub
parent 4d87b8bacd
commit 6aa6f8ad0a
45 changed files with 1498 additions and 708 deletions

View File

@@ -1,6 +1,6 @@
import React from 'react';
import Svg, { Image } from 'react-native-svg';
import { Theme } from './styleUtils';
import Svg, {Image} from 'react-native-svg';
import {Theme} from './styleUtils';
import Home from '../../assets/Home_tab_icon.svg';
import History from '../../assets/History_tab_icon.svg';
import ShareWithSelfie from '../../assets/Share_with_selfie.svg';
@@ -36,8 +36,8 @@ import GoogleDriveIcon from '../../assets/Gdrive_Logo.svg';
import GoogleDriveIconSmall from '../../assets/google-drive-28.svg';
import ICloudLogo from '../../assets/Icloud-Logo.svg';
import KebabIcon from '../../assets/Detailed_view_kebab_icon.svg';
import { displayType } from '../../machines/Issuers/IssuersMachine';
import { IssuerProps } from '../openId4VCI/Issuer';
import {displayType} from '../../machines/Issuers/IssuersMachine';
import {IssuerProps} from '../openId4VCI/Issuer';
import Backup from '../../assets/Backup.svg';
import PermissionDenied from '../../assets/Permission_Denied.svg';
import OutlinedShieldedIcon from '../../assets/Outlined_Shielded_Icon.svg';
@@ -50,47 +50,72 @@ import ColoredInfo from '../../assets/Colored_Info.svg';
import Info from '../../assets/Info.svg';
import Search from '../../assets/Search.svg';
import CloudUploadDoneIcon from '../../assets/Cloud_Upload_Done_Icon.svg';
import SettingsLanguage from '../../assets/Language_Icon.svg'
import SettingsBiometric from '../../assets/biometric_unlock.svg'
import SettingsAboutInji from '../../assets/about_inji.svg'
import SettingsBackup from '../../assets/cloud_upload.svg'
import SettingsLogOut from '../../assets/logout_icon.svg'
import RestoreIcon from '../../assets/restoreIconBackup.svg'
import QuestionIcon from '../../assets/questionIcon.svg'
import CopyIcon from '../../assets/file_copy.svg'
import StarIcon from '../../assets/credentialRegestryStar.svg'
import SettingsLanguage from '../../assets/Language_Icon.svg';
import SettingsBiometric from '../../assets/biometric_unlock.svg';
import SettingsAboutInji from '../../assets/about_inji.svg';
import SettingsBackup from '../../assets/cloud_upload.svg';
import SettingsLogOut from '../../assets/logout_icon.svg';
import RestoreIcon from '../../assets/restoreIconBackup.svg';
import QuestionIcon from '../../assets/questionIcon.svg';
import CopyIcon from '../../assets/file_copy.svg';
import StarIcon from '../../assets/credentialRegestryStar.svg';
export class SvgImage {
static copyIcon(): React.ReactNode {
return <CopyIcon color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />
return (
<CopyIcon
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static questionIcon() {
return <QuestionIcon color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}/>
return (
<QuestionIcon
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static logOutIcon(): any {
return <SettingsLogOut color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />
return (
<SettingsLogOut
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static restoreIcon(): any {
return <RestoreIcon color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}/>
return (
<RestoreIcon
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static starIcon() {
return <StarIcon color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}/>
return (
<StarIcon
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static MosipLogo(props: LogoProps) {
const { width, height } = props;
const {width, height} = props;
return <Logo width={width} height={height} />;
}
static kebabIcon(testId: string) {
return <KebabIcon {...testIDProps(testId)} color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />;
return (
<KebabIcon
{...testIDProps(testId)}
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static walletActivatedIcon() {
@@ -258,7 +283,7 @@ export class SvgImage {
}
static InjiSmallLogo() {
const InjiLogoSmall=Theme.InjiLogoSmall
const InjiLogoSmall = Theme.InjiLogoSmall;
return <InjiLogoSmall {...testIDProps('injiSmallLogo')} />;
}
@@ -278,19 +303,22 @@ export class SvgImage {
<LockIcon
color1={Theme.Colors.linearGradientStart}
color2={Theme.Colors.linearGradientEnd}
style={{ alignSelf: 'center' }}
style={{alignSelf: 'center'}}
/>
);
}
static InjiLogo(props: LogoProps) {
const InjiLogo=Theme.HomeScreenLogo
return <InjiLogo
color1={Theme.Colors.linearGradientStart}
color2={Theme.Colors.linearGradientEnd}
width={props.width}
height={props.height}
{...testIDProps('injiLogo')}/>
const InjiLogo = Theme.HomeScreenLogo;
return (
<InjiLogo
color1={Theme.Colors.linearGradientStart}
color2={Theme.Colors.linearGradientEnd}
width={props.width}
height={props.height}
{...testIDProps('injiLogo')}
/>
);
}
static DigitalIdentity() {
@@ -353,7 +381,7 @@ export class SvgImage {
}
static FlipCameraIcon() {
const { width, height } = Theme.CameraEnabledStyles.cameraFlipIcon;
const {width, height} = Theme.CameraEnabledStyles.cameraFlipIcon;
return (
<FlipCameraIcon
{...testIDProps('flipCameraIcon')}
@@ -518,28 +546,50 @@ export class SvgImage {
}
static settingsLanguageIcon(size) {
return <SettingsLanguage width={size} height={size} color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />
return (
<SettingsLanguage
width={size}
height={size}
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static fingerprintIcon(size?: number | undefined) {
return <SettingsBiometric height={size} width={size} color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />
return (
<SettingsBiometric
height={size}
width={size}
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static abotInjiIcon() {
return <SettingsAboutInji color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}/>
return (
<SettingsAboutInji
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
static backUpAndRestoreIcon(height: number, width: number) {
return <SettingsBackup height={height} width={width} color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd} />
return (
<SettingsBackup
height={height}
width={width}
color1={Theme.Colors.linearIconGradientStart}
color2={Theme.Colors.linearIconGradientEnd}
/>
);
}
}
function getIssuerLogo(props: displayType) {
return { uri: props.logo.url };
return {uri: props.logo.url};
}
interface LogoProps {