memoscan
← all memos

Memo 0x87f49010…bf5b2b on Ethereum

function fisherYatesShuffle(seed, array) { let currentIndex = array.length; let temporaryValue, randomIndex; while (currentIndex !== 0) { randomIndex = (seed + currentIndex) % currentIndex; currentIndex -= 1; temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } function generateIndices(seed, totalImages) { const array = Array.from({ length: totalImages }, (_, i) => i + 1); return fisherYatesShuffle(seed, array); } function selectImage(tokenId, totalImages = 100) { const seed = 824716; const indices = generateIndices(seed, totalImages); console.log(`tokenId: ${tokenId}`) console.log(`Selection: ${indices[tokenId % totalImages]}`) return indices[tokenId % totalImages]; } const selectedImage = selectImage(tokenData.tokenId); let CID = "QmPAH58UXYahSoZDdgLFGYWNnnfLTLWF5ThRXn54dTRt9F" function initVideoPlayer() { const videoElement = document.createElement('video'); videoElement.setAttribute('preload', 'auto'); videoElement.style.display = 'none'; videoElement.style.position = 'absolute'; videoElement.style.top = '50%'; videoElement.style.left = '50%'; videoElement.style.transform = 'translate(-50%, -50%)'; videoElement.style.objectFit = 'contain'; videoElement.style.maxWidth = '100vw'; videoElement.style.maxHeight = '100vh'; function loadVideo() { const videoURL = `https://brightmoments.mypinata.cloud/ipfs/${CID}/${selectedImage}.mp4`; videoElement.src = videoURL; } videoElement.oncanplaythrough = function() { videoElement.style.display = 'block'; }; loadVideo(); document.body.appendChild(videoElement); document.onclick = function() { videoElement.setAttribute('loop', ''); videoElement.play(); document.onclick = null; }; } document.addEventListener('DOMContentLoaded', initVideoPlayer);