Skip to content

Commit dbe54f2

Browse files
committed
Add status ribbon on presentation selection popup
1 parent 100564a commit dbe54f2

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/components/Credentials/ApiFetchCredential.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const hasherAndAlgorithm: HasherAndAlgorithm = {
2323
algorithm: HasherAlgorithm.Sha256
2424
}
2525

26-
const parseCredentialDependingOnFormat = async (credential: string, format: string): Promise<any> => {
26+
export const parseCredentialDependingOnFormat = async (credential: string, format: string): Promise<any> => {
2727
switch (format) {
2828
case CredentialFormat.JWT_VC_JSON:
2929
return parseJwt(credential);

src/components/Popups/SelectCredentials.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { FaShare } from 'react-icons/fa';
44
import { useTranslation } from 'react-i18next';
55
import StatusRibbon from '../../components/Credentials/StatusRibbon';
66
import { useApi } from '../../api';
7+
import { parseCredentialDependingOnFormat } from '../../components/Credentials/ApiFetchCredential';
78

89

910
function SelectCredentials({ showPopup, setShowPopup, setSelectionMap, conformantCredentialsMap, verifierDomainName }) {
@@ -20,7 +21,6 @@ function SelectCredentials({ showPopup, setShowPopup, setSelectionMap, conforman
2021
const [renderContent, setRenderContent] = useState(showRequestedFields);
2122
const [applyTransition, setApplyTransition] = useState(false);
2223

23-
2424
useEffect(() => {
2525
const getData = async () => {
2626
if (currentIndex == Object.keys(conformantCredentialsMap).length) {
@@ -31,13 +31,18 @@ function SelectCredentials({ showPopup, setShowPopup, setSelectionMap, conforman
3131

3232
try {
3333
const response = await api.get('/storage/vc');
34-
const simplifiedCredentials = response.data.vc_list
34+
const simplifiedCredentialsPromises = response.data.vc_list
3535
.filter(vc => conformantCredentialsMap[keys[currentIndex]].credentials.includes(vc.credentialIdentifier))
36-
.map(vc => ({
37-
id: vc.credentialIdentifier,
38-
imageURL: vc.logoURL,
39-
}));
40-
console.log("FIelds = ", conformantCredentialsMap[keys[currentIndex]].requestedFields)
36+
.map(async vc => {
37+
const credentialPayload = await parseCredentialDependingOnFormat(vc.credential, vc.format);
38+
return ({
39+
id: vc.credentialIdentifier,
40+
imageURL: vc.logoURL,
41+
expdate: credentialPayload['vc']["expirationDate"],
42+
})
43+
});
44+
const simplifiedCredentials = await Promise.all(simplifiedCredentialsPromises);
45+
console.log("Fields = ", conformantCredentialsMap[keys[currentIndex]].requestedFields)
4146
setRequestedFields(conformantCredentialsMap[keys[currentIndex]].requestedFields);
4247
setImages(simplifiedCredentials);
4348
} catch (error) {

0 commit comments

Comments
 (0)