Enhance milestone rewards display: Add new milestones for 5M, 20M, and 100M sats with corresponding labels and icons. Update progress calculation to reflect these new thresholds in the dashboard.

This commit is contained in:
padreug 2025-06-27 23:31:56 +02:00
parent ae836dad54
commit 16db140bb6
2 changed files with 43 additions and 4 deletions

View file

@ -195,9 +195,12 @@ window.app = Vue.createApp({
if (!amount) return '0 sats' if (!amount) return '0 sats'
const formatted = new Intl.NumberFormat('en-US').format(amount) const formatted = new Intl.NumberFormat('en-US').format(amount)
// Add some excitement for larger amounts // Add some excitement for larger amounts
if (amount >= 1000000) return formatted + ' sats 💎' if (amount >= 100000000) return formatted + ' sats 🏆' // Full coiner (1 BTC)
if (amount >= 100000) return formatted + ' sats 🚀' if (amount >= 20000000) return formatted + ' sats 👑' // Bitcoin royalty
if (amount >= 10000) return formatted + ' sats ⚡' if (amount >= 5000000) return formatted + ' sats 🌟' // Rising star
if (amount >= 1000000) return formatted + ' sats 💎' // Diamond hands
if (amount >= 100000) return formatted + ' sats 🚀' // Rocket fuel
if (amount >= 10000) return formatted + ' sats ⚡' // Lightning
return formatted + ' sats' return formatted + ' sats'
}, },
@ -280,7 +283,10 @@ window.app = Vue.createApp({
if (sats < 500000) return { target: 500000, name: '500k sats' } if (sats < 500000) return { target: 500000, name: '500k sats' }
if (sats < 1000000) return { target: 1000000, name: '1M sats' } if (sats < 1000000) return { target: 1000000, name: '1M sats' }
if (sats < 2100000) return { target: 2100000, name: '2.1M sats' } if (sats < 2100000) return { target: 2100000, name: '2.1M sats' }
return { target: 21000000, name: '21M sats' } if (sats < 5000000) return { target: 5000000, name: '5M sats' }
if (sats < 20000000) return { target: 20000000, name: '20M sats' }
if (sats < 100000000) return { target: 100000000, name: '100M sats (1 BTC!)' }
return { target: 210000000, name: '210M sats (2.1 BTC)' }
}, },
getMilestoneProgress() { getMilestoneProgress() {

View file

@ -475,6 +475,39 @@
<q-item-label caption>True HODLer 💎</q-item-label> <q-item-label caption>True HODLer 💎</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item>
<q-item-section avatar>
<div v-if="dashboardData.total_sats_accumulated >= 5000000" class="text-positive text-h6"></div>
<div v-else class="text-grey-5 text-h6"></div>
</q-item-section>
<q-item-section>
<q-item-label class="text-body2">5,000,000 sats</q-item-label>
<q-item-label caption>Rising star 🌟</q-item-label>
</q-item-section>
</q-item>
<q-item>
<q-item-section avatar>
<div v-if="dashboardData.total_sats_accumulated >= 20000000" class="text-positive text-h6"></div>
<div v-else class="text-grey-5 text-h6"></div>
</q-item-section>
<q-item-section>
<q-item-label class="text-body2">20,000,000 sats</q-item-label>
<q-item-label caption>Bitcoin royalty 👑</q-item-label>
</q-item-section>
</q-item>
<q-item>
<q-item-section avatar>
<div v-if="dashboardData.total_sats_accumulated >= 100000000" class="text-positive text-h6"></div>
<div v-else class="text-grey-5 text-h6"></div>
</q-item-section>
<q-item-section>
<q-item-label class="text-body2">100,000,000 sats</q-item-label>
<q-item-label caption>Full coiner! 🏆</q-item-label>
</q-item-section>
</q-item>
</q-list> </q-list>
</q-card-section> </q-card-section>
</q-card> </q-card>