diff --git a/app.js b/app.js index 06a3904..fbe9779 100644 --- a/app.js +++ b/app.js @@ -66,10 +66,11 @@ async function initialize() { registerDiv.classList.remove('hidden'); } - eventEmitter.on('onMessage', (messageObj) => { + eventEmitter.on('onMessage', async (messageObj) => { if (messageObj.type === 'icon') { const username = messageObj.username; const avatarBuffer = Buffer.from(messageObj.avatar, 'base64'); + await drive.put(`/icons/${username}.png`, avatarBuffer); updateIcon(username, avatarBuffer); } else { onMessageAdded(messageObj.name, messageObj.message, messageObj.avatar); @@ -125,9 +126,9 @@ function registerUser(e) { const avatarFile = document.querySelector('#avatar-file').files[0]; if (avatarFile) { const reader = new FileReader(); - reader.onload = (event) => { + reader.onload = async (event) => { const buffer = new Uint8Array(event.target.result); - drive.put(`/icons/${regUsername}.png`, buffer); + await drive.put(`/icons/${regUsername}.png`, buffer); userAvatar = `http://localhost:1337/icons/${regUsername}.png`; // Set the correct URL registeredUsers[regUsername] = userAvatar; localStorage.setItem('registeredUsers', JSON.stringify(registeredUsers)); @@ -288,11 +289,11 @@ function truncateHash(hash) { } async function updateIcon(username, avatarBuffer) { - // Update the icon in the local HTML if necessary - // This can be adjusted as per your needs const userIcon = document.querySelector(`img[src*="${username}.png"]`); if (userIcon) { - userIcon.src = `http://localhost:1337/icons/${username}.png`; // Ensure the URL is correct + const avatarBlob = new Blob([avatarBuffer], { type: 'image/png' }); + const avatarUrl = URL.createObjectURL(avatarBlob); + userIcon.src = avatarUrl; } }