diff --git a/src/App.css b/src/App.css index 78b7344..588e864 100644 --- a/src/App.css +++ b/src/App.css @@ -717,3 +717,27 @@ button.btn.btn-outline:disabled { -webkit-mask: radial-gradient(67px, #0000 98%, #000); mask: radial-gradient(67px, #0000 98%, #000); } + +.btn-ping-wrap { + position: relative; + display: flex; +} + +.btn-ping-wrap > .btn { + z-index: 1; +} + +.btn-ping { + position: absolute; + opacity: 0.75; + animation: btn-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + z-index: 0; +} + +@keyframes btn-ping { + 75%, + 100% { + transform: scaleX(1.1)scaleY(1.5); + opacity: 0; + } +} \ No newline at end of file diff --git a/src/assets/twitterlogo.svg b/src/assets/twitterlogo.svg index b2dd139..437e2bf 100644 --- a/src/assets/twitterlogo.svg +++ b/src/assets/twitterlogo.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/components/tst-staking/StakingIncrease.jsx b/src/components/tst-staking/StakingIncrease.jsx index 6af51b0..e42473c 100644 --- a/src/components/tst-staking/StakingIncrease.jsx +++ b/src/components/tst-staking/StakingIncrease.jsx @@ -229,6 +229,7 @@ const StakingIncrease = () => { loading={isPending} disabled={isPending || tstStakeAmount <= 0 } onClick={handleLetsStake} + className="w-full lg:w-1/2" > Deposit diff --git a/src/components/tst-staking/StakingRewardsList.jsx b/src/components/tst-staking/StakingRewardsList.jsx index b012b1f..3d9bdcf 100644 --- a/src/components/tst-staking/StakingRewardsList.jsx +++ b/src/components/tst-staking/StakingRewardsList.jsx @@ -99,13 +99,13 @@ const StakingRewardsList = ({ {ethers.formatUnits(amount, decimals)}
- ~${value.toFixed(8)} + ${value.toFixed(8)} {ethers.formatUnits(dailyReward, decimals)}
- ~${rate.toFixed(8)} + ${rate.toFixed(8)} diff --git a/src/components/tst-staking/StakingSummary.jsx b/src/components/tst-staking/StakingSummary.jsx index 3b9e2d0..7ac064a 100644 --- a/src/components/tst-staking/StakingSummary.jsx +++ b/src/components/tst-staking/StakingSummary.jsx @@ -228,10 +228,14 @@ const StakingSummary = ({ const calculateSimpleAPY = (stakedAmount, totalRewardsValue, daysStaked) => { const dailyEarnings = totalRewardsValue || 0; const annualEarningsPerTST = (dailyEarnings * 365) / Number(stakedAmount) || 0; - return annualEarningsPerTST; } + // const calculateSimpleAPY = (totalValueUSD, dailyEarnings) => { + // const apy = Number(dailyEarnings * 365); + // return apy; + // } + const rewardsWithPrices = rewardsData.map(reward => { const useAmount = ethers.formatUnits(reward.amount, reward.decimals); const useRate = ethers.formatUnits(reward.dailyReward, reward.decimals); @@ -246,12 +250,14 @@ const StakingSummary = ({ }; }) - const totalValueUSD = rewardsWithPrices.reduce((sum, reward) => sum + reward.usdValue, 0) || 0; const totalRateUSD = rewardsWithPrices.reduce((sum, reward) => sum + reward.usdRate, 0) || 0; const daysStaked = getDaysStaked() || 0; - const dailyEarnings = (totalRateUSD / daysStaked) || 0; + let dailyEarnings = (totalRateUSD / daysStaked) || 0; + if (!(daysStaked >= 1)) { + dailyEarnings = 0; + } const monthlyProjection = (dailyEarnings * 30) || 0; const currentTier = getCurrentTier(stakedAmount); @@ -262,6 +268,7 @@ const StakingSummary = ({ progress = (stakedAmount / nextTier.minAmount) * 100; } const apyDisplay = calculateSimpleAPY(stakedAmount, totalRateUSD, daysStaked) + '%' || '0%'; + // const apyDisplay = calculateSimpleAPY(totalValueUSD, dailyEarnings).toFixed(8) + '%' || '0%'; let stakeRatio = 'TODO.DOTO'; @@ -274,7 +281,7 @@ const StakingSummary = ({ const lowestTier = STATUS_TIERS[STATUS_TIERS.length - 1]; - const shareText = `🏆 ${currentTier.name} on @TheStandardIO\n\n💫 Staking ${formatNumber(stakedAmount)} TST\n💰 Earning ${formatUSD(dailyEarnings)} daily\n⚡️ Supporting zero-interest borrowing\n\nJoin the future of DeFi!\nthestandard.io`; + const shareText = `🏆 Yes! I made it to ${currentTier.name} on @TheStandard_io\n\n💫 Staking ${formatNumber(stakedAmount)} TST\n💰 Earning ${formatUSD(dailyEarnings)} daily\n⚡️ Supporting zero-interest borrowing\n\nJoin the future of DeFi!\nthestandard.io`; if (!rawStakedSince) { return ( @@ -288,7 +295,7 @@ const StakingSummary = ({ Participate in protocol governance -
+
@@ -320,7 +327,7 @@ const StakingSummary = ({
*/}
-
+
@@ -393,8 +400,7 @@ const StakingSummary = ({ Participate in protocol governance - {/*
*/} -
+
@@ -446,21 +452,39 @@ const StakingSummary = ({
-
-
-
- - Your Daily Earnings + {daysStaked >= 1 ? ( +
+
+
+ + Your Daily Earnings + + + {formatUSD(dailyEarnings)} + +
+ + Earning {formatUSD(monthlyProjection)} monthly at current rates - - {formatUSD(dailyEarnings)} +
+
+ ) : ( +
+
+
+ + Your Daily Earnings + + + {formatUSD(0)} + +
+ + Rates will be calculated after the first 24 hours period passes
- - Earning {formatUSD(monthlyProjection)} monthly at current rates -
-
+ )}
diff --git a/src/components/vault/TokenList.jsx b/src/components/vault/TokenList.jsx index e81ce14..0d376fd 100644 --- a/src/components/vault/TokenList.jsx +++ b/src/components/vault/TokenList.jsx @@ -230,14 +230,20 @@ const TokenList = ({ > Swap - +
+ + {(amount <= 0 || !yieldEnabled || !tokenYield) ? (null) : ( + + )} +
)} diff --git a/src/components/vault/yield/YieldPerformanceModal.jsx b/src/components/vault/yield/YieldPerformanceModal.jsx index 353ba72..ec17703 100644 --- a/src/components/vault/yield/YieldPerformanceModal.jsx +++ b/src/components/vault/yield/YieldPerformanceModal.jsx @@ -253,7 +253,7 @@ const YieldPerformanceModal = ({