JSFiddle - React, Tailwind, and code Playground
by borisjavier
HTML
<input type="hidden" id="recipient" value="YmprYXJ0cmFjZXIyQGdtYWlsLmNvbQ==">
<input type="hidden" id="chatPartners" value='["YmprYXJ0cmFjZXIyQGdtYWlsLmNvbQ==","Y2FsZWJkYXZpZGJhcnJlcmFAZ21haWwuY29t"]'>
<input type="hidden" id="uidPartners" value='["ZQEWNEbcvHcvANPmT4JC7xvsxzm2","MsgAORbGcNb9S9TnWB5VMH1ipzT2"]'>
JavaScript
function getRecipientUid() {
// Obtener los valores de los campos ocultos
const recipientBtoa = document.getElementById('recipient').value;
const chatPartners = JSON.parse(document.getElementById('chatPartners').value);
const uidPartners = JSON.parse(document.getElementById('uidPartners').value);
// Decodificar el recipient actual
const currentRecipient = atob(recipientBtoa);
// Buscar coincidencia en los chatPartners
let recipientUid = null;
chatPartners.forEach((partnerBtoa, index) => {
const partnerMail = atob(partnerBtoa);
if (partnerMail === currentRecipient) {
recipientUid = uidPartners[index];
}
});
if (!recipientUid) {
throw new Error('No se encontró el UID del recipient');
}
return recipientUid;
}
//const recipientUid = getRecipientUid();
const idAlgo = Date.now();
const recipientUid = getRecipientUid();
console.log(recipientUid);
console.log(idAlgo);
// Modificación en sendContractInfo
async function sendContractInfo() {
try {
await init();
const recipientUid = getRecipientUid(); // Nueva función
const contractData = {
metadata: {
recipient: recipientUid, // Aquí insertamos el UID obtenido
createdBy: currentUser.uid,
status: 'pending',
createdAt: firebase.database.ServerValue.TIMESTAMP
},
// ... resto del objeto
};
// ... resto de la función
} catch (error) {
console.error("Error:", error);
}
}