Variable: CredentialsContext

typescript
1
const CredentialsContext: Context<undefined | { credentials: Credential[]; deleteCredential: (credential) => Promise<void>; load: () => Promise<void>; }>

Defined in: packages/identus-react/src/context/index.ts:705

React context for credential storage and management.

Provides functionality for managing stored verifiable credentials including retrieval, deletion, and refresh operations. Central to the credential wallet functionality.

Example

tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { CredentialsContext } from '@trust0/identus-react/context';
import { useContext } from 'react';
function CredentialWallet() {
const context = useContext(CredentialsContext);
if (!context) {
throw new Error('CredentialWallet must be used within CredentialsProvider');
}
const { credentials, deleteCredential, fetchCredentials } = context;
const removeCredential = async (credential: SDK.Domain.Credential) => {
if (confirm('Delete this credential?')) {
await deleteCredential(credential);
}
};
const refreshCredentials = async () => {
await fetchCredentials();
};
return (
<div>
<h3>My Credentials ({credentials.length})</h3>
<button onClick={refreshCredentials}>Refresh</button>
{credentials.map((credential, index) => (
<div key={index}>
<h4>{credential.claims.name || 'Unnamed Credential'}</h4>
<p>Issuer: {credential.issuer}</p>
<button onClick={() => removeCredential(credential)}>
Delete
</button>
</div>
))}
</div>
);
}