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,21 +192,27 @@ const ChainCreationForm: React.FC = () => {
</> </>
) : ( ) : (
<> <>
{signedMessage && ( {signedMessage && createdBlockUUID && (
<QRCode <>
text={JSON.stringify({ <div className="flex flex-col items-center space-y-4">
chainUUID: formData.uuid, <QRCode
blockUUID: uuidv4(), text={`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`}
title: formData.title, width={200}
description: formData.description, height={200}
signedMessage: signedMessage, />
timestamp: Date.now(), <p className="text-sm text-center break-all">
signatures: [{address: address!, signature: signedMessage}], {`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`}
parentBlockUUID: null </p>
})} <Button
/> onClick={() => navigator.clipboard.writeText(`${window.location.origin}/sign/${formData.uuid}/${createdBlockUUID}`)}
variant="outline"
>
Copy Link
</Button>
</div>
</>
)} )}
</> </>
)} )}
</DialogContent> </DialogContent>
</Dialog> </Dialog>