20 lines
558 B
TypeScript
20 lines
558 B
TypeScript
import { nip04 } from 'nostr-tools';
|
|
import { useEffect, useState } from 'react';
|
|
|
|
export function useDecryptMessage(data: any, userPubkey: string, userPriv: string) {
|
|
const [content, setContent] = useState(data.content);
|
|
|
|
useEffect(() => {
|
|
async function decrypt() {
|
|
const pubkey =
|
|
userPubkey === data.sender_pubkey ? data.receiver_pubkey : data.sender_pubkey;
|
|
const result = await nip04.decrypt(userPriv, pubkey, data.content);
|
|
setContent(result);
|
|
}
|
|
|
|
decrypt().catch(console.error);
|
|
}, []);
|
|
|
|
return content;
|
|
}
|