Skip to content

Commit

Permalink
fix: handle default render json
Browse files Browse the repository at this point in the history
Signed-off-by: Nam Hoang <[email protected]>
  • Loading branch information
namhoang1604 committed Jul 26, 2023
1 parent cec1bb0 commit 66908fd
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 17 deletions.
51 changes: 35 additions & 16 deletions packages/demo-explorer/src/components/CredentialRender.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useVeramo } from '@veramo-community/veramo-react'
import { VerifiableCredential } from '@veramo/core'
import { Button, Spin } from 'antd'
import html2canvas from 'html2canvas'
import { useCallback, useEffect, useState } from 'react'
import { CSSProperties, useCallback, useEffect, useState } from 'react'
import { useQuery } from 'react-query'
import { getIssuerDID } from '../utils/did'
import { convertBase64ToString } from '../utils/helpers'
Expand All @@ -15,6 +15,13 @@ const proCardStyle = {
minWidth: '100%',
width: 'fit-content',
}
const jsonStyle: CSSProperties = {
backgroundColor: 'rgb(247, 248, 252)',
padding: '0.75rem 1.25rem',
whiteSpace: 'pre-wrap',
overflowWrap: 'break-word',
}

interface CredentialRenderProps {
credential: VerifiableCredential
hash: string
Expand Down Expand Up @@ -48,20 +55,22 @@ const CredentialRender: React.FC<CredentialRenderProps> = ({

const renderCredential = useCallback(async () => {
setIsLoading(true)
const renderer = new Renderer({
providers: {
WebRenderingTemplate2022: new WebRenderingTemplate2022(),
},
defaultProvider: 'WebRenderingTemplate2022',
})

let { documents }: { documents: string[] } =
await renderer.renderCredential({
credential,
try {
const renderer = new Renderer({
providers: {
WebRenderingTemplate2022: new WebRenderingTemplate2022(),
},
defaultProvider: 'WebRenderingTemplate2022',
})
documents = documents.map((doc) => convertBase64ToString(doc))

let { documents }: { documents: string[] } =
await renderer.renderCredential({
credential,
})
documents = documents.map((doc) => convertBase64ToString(doc))
setDocuments(documents)
} catch (e) {}
setIsLoading(false)
setDocuments(documents)
}, [credential])

useEffect(() => {
Expand Down Expand Up @@ -109,9 +118,19 @@ const CredentialRender: React.FC<CredentialRenderProps> = ({
>
<div id="render">
<QrCodeDocumentWrapper qrCodeValue={qrCodeValue}>
{documents.map((doc, i) => (
<div key={i} dangerouslySetInnerHTML={{ __html: doc }}></div>
))}
{!isLoading && !credentialLoading ? (
documents.length !== 0 ? (
documents.map((doc, i) => (
<div key={i} dangerouslySetInnerHTML={{ __html: doc }}></div>
))
) : (
<pre style={jsonStyle}>
{JSON.stringify(credential, null, 2)}
</pre>
)
) : (
<></>
)}
</QrCodeDocumentWrapper>
</div>
<Button onClick={printdiv}>Print</Button>
Expand Down
Loading

0 comments on commit 66908fd

Please sign in to comment.