window.addEventListener("load", () => { app.query(".table-body").innerHTML = app.loading(); app.query(".btm-lft-amnt").innerHTML = app.loading(); app.query("#sechRadio").checked = false; app.query("#searchInput").value = ""; }); const handleDataInput = () => { //HANDLING TABLE BODY app.getCookie("azer_token", (e, r) => { // console.log(r); if (e) { app.client.fetch("/user/wallet/all", "POST", { token: r }).then((dx) => { let btcWorth = 0; let fetchedData = []; let btcLogic = 0; let totalBtc = 0; let totalWalletFiat = 0; // let btcWorth = 0; let currVal = 0; dx.map((item, i) => { for (const [key, value] of Object.entries(item)) { fetchedData.push({ key, ...value }); totalWalletFiat += parseFloat(value.availableBalance); if (value.name === "Bitcoin") { btcWorth = value.coinPrice; } btcLogic = (Number(value.totalAvailableBalance) * value.coinPrice) / Number(btcWorth); btcValue = btcLogic <= 0 ? btcLogic.toFixed(2) : btcLogic.toFixed(8); totalBtc += btcLogic; } }); //HANDLING TOTAL BTC VALUE AND FIAT VALUE const getCurr = async () => { const userCurrency = await getUserLocationAndCurrency(); const fetchedCurrency = await getSingleCurrency( userCurrency.country_code ? userCurrency.country_code : "us" ); fetchedCurrency.forEach((data) => { currVal = `${data.currency_sign}${Number( Number(data.buy_rate) * Number(totalWalletFiat).toFixed(2) ).toLocaleString()}`; }); }; getCurr().then(() => setWalletHtml()); const setWalletHtml = () => { app.query(".btm-lft-amnt").innerHTML = `

${ totalBtc === 0 ? totalBtc.toFixed( 2 ) : totalBtc.toFixed( 8 ) } BTC ~ $${Number( totalWalletFiat.toFixed( 2 ) ).toLocaleString()} (${currVal})

`; }; //HANDLING DATA TO TABLE const analyseData = (dataArr) => { if (dataArr.length > 0) { let eachWalletHtml = ""; let btcValue = 0; let btcLogic = 0; let totalBtc = 0; // CONVERTING AVAILABLE BALANCE TO NUMBERS FOR PROPER SORTING dataArr.forEach((data) => { data.availableBalance = Number(data.availableBalance); }); // SORTING ARRAY BASED ON DOLLAR VALUE dataArr.sort((a, b) => a.availableBalance < b.availableBalance ? 1 : b.availableBalance < a.availableBalance ? -1 : 0 ); //LOOPING THROUGH ARRAY AND INPUTING VALUES INTO HTML dataArr.forEach((value) => { btcLogic = (Number(value.totalAvailableBalance) * value.coinPrice) / Number(btcWorth); btcValue = btcLogic == 0 ? btcLogic.toFixed(2) : btcLogic.toFixed(8); totalBtc += btcLogic; console.log( value.key, Number(Number(value.totalAvailableBalance).toFixed(8)) ); eachWalletHtml += `

${value.symbol}

${value.symbol}

${ Number(value.totalAvailableBalance) === 0 ? Number( value.totalAvailableBalance ).toFixed(2) : Number( Number( value.totalAvailableBalance ).toFixed(8) ) }

$${Number( Number(value.availableBalance).toFixed( 2 ) ).toLocaleString()}

${ Number(value.totalAvailableBalance) === 0 ? Number(value.totalAvailableBalance).toFixed( 2 ) : Number( Number( value.totalAvailableBalance ).toFixed(8) ) }

${btcValue}

$${ Number(value.availableBalance) == 0 ? Number(value.availableBalance).toFixed(2) : Number( Number(value.availableBalance).toFixed(2) ).toLocaleString() }

Buy/Sell Send Deposit Swap
`; }); app.query(".table-body").innerHTML = eachWalletHtml; // console.log(dx); } else { app.query(".table-body").innerHTML = `

No match found

`; } }; analyseData(fetchedData); }); } }); //HANDLING TOTAL BTC VALUE AND FIAT VALUE // app.getCookie("azer_token", (e, r) => { // if (e) { // app.client.fetch("/user/wallet/all", "POST", { token: r }).then((dx) => { // let btcValue = 0; // let btcLogic = 0; // let totalBtc = 0; // let totalWalletFiat = 0; // let btcWorth = 0; // let currVal = 0; // dx.map((item, i) => { // for (const [key, value] of Object.entries(item)) { // totalWalletFiat += parseFloat(value.availableBalance); // if (value.name === "Bitcoin") { // btcWorth = value.coinPrice; // } // btcLogic = // (Number(value.totalAvailableBalance) * value.coinPrice) / // Number(btcWorth); // btcValue = // btcLogic == 0 ? btcLogic.toFixed(2) : btcLogic.toFixed(8); // totalBtc += btcLogic; // } // }); // const getCurr = async () => { // const userCurrency = await getUserLocationAndCurrency(); // const fetchedCurrency = await getSingleCurrency( // userCurrency.country_code ? userCurrency.country_code : "us" // ); // fetchedCurrency.forEach((data) => { // currVal = `${data.currency_sign}${Number( // Number(data.buy_rate) * Number(totalWalletFiat).toFixed(2) // ).toLocaleString()}`; // }); // }; // getCurr().then(() => setWalletHtml()); // const setWalletHtml = () => { // app.query(".btm-lft-amnt").innerHTML = `

// ${totalBtc.toFixed( // 2 // )} // BTC // ~ $${Number( // totalWalletFiat.toFixed( // 2 // ) // ).toLocaleString()} // (${currVal}) //

// `; // }; // // console.log(dx); // }); // } // }); }; const handlefilteredData = () => { //HANDLING TABLE BODY app.getCookie("azer_token", (e, r) => { // console.log(r); if (e) { app.client.fetch("/user/wallet/all", "POST", { token: r }).then((dx) => { let btcWorth = 0; let fetchedData = []; const searchInput = app.query("#searchInput"); const sechRadio = app.query("#sechRadio"); searchOnlyPattern = new RegExp("^[a-zA-Z ]+$"); let previousValue = ""; dx.map((item, i) => { for (const [key, value] of Object.entries(item)) { fetchedData.push({ key, ...value }); if (value.name === "Bitcoin") { btcWorth = value.coinPrice; } } }); //FILTER ARRAY WITH BALANCE ASSET sechRadio.addEventListener("click", () => { searchInput.value = ""; if (sechRadio.checked) { const filteredCoins = fetchedData.filter((data) => { app.query(".filtered-body").classList.add("active"); app.query(".table-body").classList.remove("active"); return data.availableBalance > 0; }); analyseData(filteredCoins); } else { app.query(".filtered-body").classList.remove("active"); app.query(".table-body").classList.add("active"); analyseData(fetchedData); } }); //FILTER ARRAY WITH SEARCH INPUT searchInput.addEventListener("input", (e) => { sechRadio.checked = false; let currentValue = searchInput.value; if ( e.inputType.includes("delete") || searchOnlyPattern.test(currentValue) ) { previousValue = currentValue; } searchInput.value = previousValue; if (!searchInput.value == "") { app.query(".filtered-body").classList.add("active"); app.query(".table-body").classList.remove("active"); } else { app.query(".filtered-body").classList.remove("active"); app.query(".table-body").classList.add("active"); } const searchString = searchInput.value.toLowerCase(); const filteredCoins = fetchedData.filter((data) => { return data.symbol.toLowerCase().includes(searchString); }); analyseData(filteredCoins); }); const analyseData = (dataArr) => { if (dataArr.length > 0) { let eachWalletHtml = ""; let btcValue = 0; let btcLogic = 0; let totalBtc = 0; // CONVERTING AVAILABLE BALANCE TO NUMBERS FOR PROPER SORTING dataArr.forEach((data) => { data.availableBalance = Number(data.availableBalance); }); // SORTING ARRAY BASED ON DOLLAR VALUE dataArr.sort((a, b) => a.availableBalance < b.availableBalance ? 1 : b.availableBalance < a.availableBalance ? -1 : 0 ); //LOOPING THROUGH ARRAY AND INPUTING VALUES INTO HTML dataArr.forEach((value) => { btcLogic = (Number(value.totalAvailableBalance) * value.coinPrice) / Number(btcWorth); btcValue = btcLogic == 0 ? btcLogic.toFixed(2) : btcLogic.toFixed(8); totalBtc += btcLogic; eachWalletHtml += `

${value.symbol}

${value.symbol}

${Number( Number( value.totalAvailableBalance ).toFixed(2) ).toLocaleString()}

$${Number( Number(value.availableBalance).toFixed( 2 ) ).toLocaleString()}

${ Number(value.totalAvailableBalance) == 0 ? Number(value.totalAvailableBalance).toFixed( 2 ) : Number( Number( value.totalAvailableBalance ).toFixed(8) ).toLocaleString() }

${btcValue}

$${ Number(value.availableBalance) == 0 ? Number(value.availableBalance).toFixed(2) : Number( Number(value.availableBalance).toFixed(2) ).toLocaleString() }

Buy/Sell Send Deposit Swap
`; }); app.query(".filtered-body").innerHTML = eachWalletHtml; // console.log(dx); } else { app.query(".filtered-body").innerHTML = `

No match found

`; } }; analyseData(fetchedData); }); } }); }; handleDataInput(); handlefilteredData(); setInterval(handleDataInput, 25000);