Display private key on badge creation summary UI
This commit is contained in:
parent
a6ab7c2044
commit
0a66d747dd
@ -16,6 +16,7 @@ import { Button } from 'components/Button'
|
|||||||
import { Conditional } from 'components/Conditional'
|
import { Conditional } from 'components/Conditional'
|
||||||
import { TextInput } from 'components/forms/FormInput'
|
import { TextInput } from 'components/forms/FormInput'
|
||||||
import { useInputState } from 'components/forms/FormInput.hooks'
|
import { useInputState } from 'components/forms/FormInput.hooks'
|
||||||
|
import { Tooltip } from 'components/Tooltip'
|
||||||
import { useContracts } from 'contexts/contracts'
|
import { useContracts } from 'contexts/contracts'
|
||||||
import { useWallet } from 'contexts/wallet'
|
import { useWallet } from 'contexts/wallet'
|
||||||
import type { DispatchExecuteArgs as BadgeHubDispatchExecuteArgs } from 'contracts/badgeHub/messages/execute'
|
import type { DispatchExecuteArgs as BadgeHubDispatchExecuteArgs } from 'contracts/badgeHub/messages/execute'
|
||||||
@ -30,9 +31,11 @@ import { toast } from 'react-hot-toast'
|
|||||||
import { FaCopy, FaSave } from 'react-icons/fa'
|
import { FaCopy, FaSave } from 'react-icons/fa'
|
||||||
import * as secp256k1 from 'secp256k1'
|
import * as secp256k1 from 'secp256k1'
|
||||||
import { upload } from 'services/upload'
|
import { upload } from 'services/upload'
|
||||||
|
import { copy } from 'utils/clipboard'
|
||||||
import { BADGE_HUB_ADDRESS, BLOCK_EXPLORER_URL, NETWORK } from 'utils/constants'
|
import { BADGE_HUB_ADDRESS, BLOCK_EXPLORER_URL, NETWORK } from 'utils/constants'
|
||||||
import { withMetadata } from 'utils/layout'
|
import { withMetadata } from 'utils/layout'
|
||||||
import { links } from 'utils/links'
|
import { links } from 'utils/links'
|
||||||
|
import { truncateMiddle } from 'utils/text'
|
||||||
|
|
||||||
const BadgeCreationPage: NextPage = () => {
|
const BadgeCreationPage: NextPage = () => {
|
||||||
const wallet = useWallet()
|
const wallet = useWallet()
|
||||||
@ -58,8 +61,8 @@ const BadgeCreationPage: NextPage = () => {
|
|||||||
const keyState = useInputState({
|
const keyState = useInputState({
|
||||||
id: 'key',
|
id: 'key',
|
||||||
name: 'key',
|
name: 'key',
|
||||||
title: 'Key',
|
title: 'Public Key',
|
||||||
subtitle: 'The key generated for the badge',
|
subtitle: 'The public key generated for the badge',
|
||||||
})
|
})
|
||||||
|
|
||||||
const performBadgeCreationChecks = () => {
|
const performBadgeCreationChecks = () => {
|
||||||
@ -296,6 +299,18 @@ const BadgeCreationPage: NextPage = () => {
|
|||||||
<div className="ml-4 text-lg">
|
<div className="ml-4 text-lg">
|
||||||
Badge ID:{` ${badgeId as string}`}
|
Badge ID:{` ${badgeId as string}`}
|
||||||
<br />
|
<br />
|
||||||
|
Private Key:
|
||||||
|
<Tooltip label="Click to copy the private key">
|
||||||
|
<button
|
||||||
|
className="group flex space-x-2 font-mono text-base text-white/50 hover:underline"
|
||||||
|
onClick={() => void copy(createdBadgeKey as string)}
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
<span>{truncateMiddle(createdBadgeKey ? createdBadgeKey : '', 32)}</span>
|
||||||
|
<FaCopy className="opacity-50 group-hover:opacity-100" />
|
||||||
|
</button>
|
||||||
|
</Tooltip>
|
||||||
|
<br />
|
||||||
Transaction Hash: {' '}
|
Transaction Hash: {' '}
|
||||||
<Conditional test={NETWORK === 'testnet'}>
|
<Conditional test={NETWORK === 'testnet'}>
|
||||||
<Anchor
|
<Anchor
|
||||||
|
Loading…
Reference in New Issue
Block a user