Card

The Card component helps you visualize credentials in your mobile app.

The Card component displays any credential type. It is highly configurable. Inspired by our Showcase App, we give one example of how you can render Cards.

let credentialPack = CredentialPack()

// Render a list of credentials and define your type of view 
let listRendering = CardRendering.list(CardRenderingListView(
        titleKeys: ["name"],
        descriptionKeys: ["created", "issuanceDate"],
        leadingIconFormatter: { (_) in
            Image(systemName: "scribble")
        }
    ))

// Render a Card detail view
let detailsRendering = CardRendering.details(CardRenderingDetailsView(
    fields: [
        CardRenderingDetailsField(
            keys: ["name"]
        ),
        CardRenderingDetailsField(
            keys: ["issuanceDate", "expirationDate"],
            formatter: { (values: [String: [String: GenericJSON]]) in
                let w3cvc = values.first.map { $0.value } ?? [:]

                return Text("\(w3cvc["issuanceDate"]?.toString() ?? "") - \(w3cvc["expirationDate"]?.toString() ?? "")")
            }
        )
    ]
))

//finally, define your card.
let card = Card(credentialPack: credentialPack, rendering: listRendering)
val

Last updated

Was this helpful?