JSFiddle - React, Tailwind, and code Playground

by ZeNz0r

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.2/umd/react-dom.production.min.js"></script>
<div id="app"></div>

React

const MOUNT_APP = document.querySelector("#app")
const links = {
  NB_url: "https://nftrade.com/assets/avalanche/0xd5c6064e09ff127e24900adfb8559c4ee0634729?search=&sort=price_asc",
  NB_RS: "https://raritysniper.com/node-bears?nftId=1146&nftId=1145&nftId=1144&nftId=2222", 
  NB2_url: "https://nftrade.com/assets/avalanche/0xbbc36316a70d6bc2c9822cdd1d0addbec227d472?search=&sort=price_asc",
  NB2_NT: "https://nftier.tech/avalanche/nodebears-gen-two"
}

const oddsHelper = (n_prizes, n_supply, n_bears, f_format = a => a) => {
  let result = 0;
  for (let x = 1; x <= n_prizes; x++) {
    result += n_bears / (n_supply - x);
  }
  return f_format(result);
}
const format = a => (a * 100).toFixed(3)

function OddsCalculator({
  currentPrizes,
  ownedBears,
  supply
}) {
	const [bears, setBears] = React.useState(ownedBears || 1)
  const [prizes, setPrizes] = React.useState(currentPrizes || 5)

  return ( 
  <div className = 'calculator' >
    <h2>Calculator for one giveaway</h2>
    <div > Prizes:  
      <input 
        type="number"
        onChange={e => setPrizes(e.target.value)}
        value = {prizes} /> 
    </div>
    <div> Bears: 
      <input 
        type="number"
        onChange={e => setBears(e.target.value)}
        value = {bears} /> 
    </div> 
    <div>Odds: {oddsHelper(prizes, supply, bears, format)}%</div>
  </div>
  )
}

	const loopWeeks = (n_prizes, n_supply, n_bears, n_weeks, n_rate, f_format) => {
  	let result = 0;
    
  	for (let x = 1; x <= n_weeks; x++) {
    	result += oddsHelper(n_prizes, n_supply, n_bears)
      n_prizes = n_prizes * (1 + n_rate)
  	}
    return f_format(result)
  }

	const loopWeeksArray = (n_prizes, n_supply, n_bears, n_weeks, n_rate, f_format) => {
  	let result = [], 
    		odds = 0
    
  	for (let x = 1; x <= n_weeks; x++) {
    	result.push({
        week: x,
        prizes: n_prizes,
        odds: oddsHelper(n_prizes, n_supply, n_bears)
      })
      console.log(result[x-1])
      odds +=...