fix: sharable link on chain creation

This commit is contained in:
Danish Arora 2024-10-29 15:17:38 +05:30
parent 256b74f52d
commit b0f2547732
No known key found for this signature in database
GPG Key ID: 1C6EF37CDAE1426E

View File

@ -34,6 +34,7 @@ const ChainCreationForm: React.FC = () => {
const [isSuccess, setIsSuccess] = useState<boolean>(false); const [isSuccess, setIsSuccess] = useState<boolean>(false);
const [sendError, setSendError] = useState<string | null>(null); const [sendError, setSendError] = useState<string | null>(null);
const [signedMessage, setSignedMessage] = useState<string | null>(null); const [signedMessage, setSignedMessage] = useState<string | null>(null);
const [createdBlockUUID, setCreatedBlockUUID] = useState<string | null>(null);
const { node } = useWaku<LightNode>(); const { node } = useWaku<LightNode>();
@ -44,9 +45,12 @@ const ChainCreationForm: React.FC = () => {
if (!address || !node) return; if (!address || !node) return;
setSignedMessage(signature); setSignedMessage(signature);
const blockUUID = uuidv4();
setCreatedBlockUUID(blockUUID);
const message = createMessage({ const message = createMessage({
chainUUID: formData.uuid, chainUUID: formData.uuid,
blockUUID: uuidv4(), blockUUID: blockUUID,
title: formData.title, title: formData.title,
description: formData.description, description: formData.description,
signedMessage: signature, signedMessage: signature,
@ -122,6 +126,7 @@ const ChainCreationForm: React.FC = () => {
setIsSuccess(false); setIsSuccess(false);
setIsSigning(false); setIsSigning(false);
setSendError(null); setSendError(null);
setCreatedBlockUUID(null);
}; };
return ( return (
@ -187,19 +192,25 @@ const ChainCreationForm: React.FC = () => {
</> </>
) : ( ) : (
<> <>
{signedMessage && ( {signedMessage && createdBlockUUID && (
<>
<div className="flex flex-col items-center space-y-4">
<QRCode <QRCode
text={JSON.stringify({ text={`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`}
chainUUID: formData.uuid, width={200}
blockUUID: uuidv4(), height={200}
title: formData.title,
description: formData.description,
signedMessage: signedMessage,
timestamp: Date.now(),
signatures: [{address: address!, signature: signedMessage}],
parentBlockUUID: null
})}
/> />
<p className="text-sm text-center break-all">
{`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`}
</p>
<Button
onClick={() => navigator.clipboard.writeText(`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`)}
variant="outline"
>
Copy Link
</Button>
</div>
</>
)} )}
</> </>
)} )}