ysdad
All checks were successful
Deploy / deploy-staging (push) Successful in 35s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-08-20 22:08:00 +02:00
parent 75a6568d7a
commit 280230d031

View File

@@ -1316,7 +1316,7 @@
}) })
.sort((left, right) => left.__runtimeDelta - right.__runtimeDelta || left.__hashrateDelta - right.__hashrateDelta)[0] || null; .sort((left, right) => left.__runtimeDelta - right.__runtimeDelta || left.__hashrateDelta - right.__hashrateDelta)[0] || null;
const syntheticPreferredMinerOffer = (() => { const syntheticPreferredMinerOffer = (() => {
const baseUsdAmount = Number(currentSettings.crypto_base_price_amount); const baseUsdAmount = Number(currentSettings.crypto_base_price_amount || 5.49);
const runtimeConfig = CRYPTO_RUNTIME_CONFIGS[targetOfferRuntimeMonths]; const runtimeConfig = CRYPTO_RUNTIME_CONFIGS[targetOfferRuntimeMonths];
if (!Number.isFinite(baseUsdAmount) || baseUsdAmount <= 0 || !runtimeConfig || targetOfferHashrateKh <= 0) { if (!Number.isFinite(baseUsdAmount) || baseUsdAmount <= 0 || !runtimeConfig || targetOfferHashrateKh <= 0) {
return null; return null;
@@ -1353,6 +1353,12 @@
const preferredOfferRemainingCoins = Number.isFinite(preferredOfferRequiredCoins) && Number.isFinite(preferredOfferCurrentCoins) const preferredOfferRemainingCoins = Number.isFinite(preferredOfferRequiredCoins) && Number.isFinite(preferredOfferCurrentCoins)
? Math.max(0, preferredOfferRequiredCoins - preferredOfferCurrentCoins) ? Math.max(0, preferredOfferRequiredCoins - preferredOfferCurrentCoins)
: null; : null;
const preferredOfferCurrentFiatValue = Number.isFinite(preferredOfferCurrentCoins)
? convertCurrencyValue(preferredOfferCurrentCoins, currentMiningCurrency, reportCurrency)
: null;
const preferredOfferRequiredFiatValue = Number.isFinite(preferredOfferRequiredCoins)
? convertCurrencyValue(preferredOfferRequiredCoins, currentMiningCurrency, reportCurrency)
: null;
const preferredOfferRemainingDays = preferredOfferRemainingCoins !== null const preferredOfferRemainingDays = preferredOfferRemainingCoins !== null
&& Number(latest?.doge_per_day_interval) > 0 && Number(latest?.doge_per_day_interval) > 0
? (preferredOfferRemainingCoins / Number(latest.doge_per_day_interval)) ? (preferredOfferRemainingCoins / Number(latest.doge_per_day_interval))
@@ -3305,21 +3311,25 @@
: null, : null,
].filter(Boolean).join(' · ') || 'Kein umrechenbarer Kurs am letzten Punkt', ].filter(Boolean).join(' · ') || 'Kein umrechenbarer Kurs am letzten Punkt',
}), }),
resolvedPreferredMinerOffer ? h(StatCard, { h(StatCard, {
key: 'preferred-offer-target', key: 'preferred-offer-target',
label: `Zielminer ${fmtNumber(targetOfferHashrateKh, 0)} kH/s · ${targetOfferRuntimeMonths} Monate`, label: `Bis Zielminer ${fmtNumber(targetOfferHashrateKh, 0)} kH/s · ${targetOfferRuntimeMonths} Monate`,
value: preferredOfferRequiredCoins !== null ? `${fmtNumber(preferredOfferRequiredCoins, 4)} ${currentMiningCurrency}` : 'n/a', value: preferredOfferRemainingDays !== null
? (preferredOfferRemainingDays <= 0 ? 'Erreicht' : `${fmtNumber(preferredOfferRemainingDays, 2)} Tage`)
: 'n/a',
sub: [ sub: [
resolvedPreferredMinerOffer.usd_display_price_amount !== null ? `${fmtMoney(resolvedPreferredMinerOffer.usd_display_price_amount, 'USD')}` : null, preferredOfferRequiredCoins !== null
preferredOfferRemainingDays !== null ? `Preis ${fmtNumber(preferredOfferRequiredCoins, 4)} ${currentMiningCurrency}${preferredOfferRequiredFiatValue !== null ? ` · ≈ ${fmtMoney(preferredOfferRequiredFiatValue, reportCurrency)}` : ''}`
? `Rest ${fmtNumber(preferredOfferRemainingDays, 2)} Tage` : null,
: 'Resttage n/a', preferredOfferCurrentCoins !== null
? `Bestand ${fmtNumber(preferredOfferCurrentCoins, 6)} ${currentMiningCurrency}${preferredOfferCurrentFiatValue !== null ? ` · ≈ ${fmtMoney(preferredOfferCurrentFiatValue, reportCurrency)}` : ''}`
: null,
preferredOfferRemainingCoins !== null preferredOfferRemainingCoins !== null
? `Rest-${currentMiningCurrency} ${fmtNumber(preferredOfferRemainingCoins, 4)}` ? `Rest ${fmtNumber(preferredOfferRemainingCoins, 4)} ${currentMiningCurrency}`
: null, : null,
preferredOfferEta ? `ETA ${fmtDate(preferredOfferEta)}` : null, preferredOfferEta ? `ETA ${fmtDate(preferredOfferEta)}` : null,
].filter(Boolean).join(' · '), ].filter(Boolean).join(' · '),
}) : null, }),
h(StatCard, { h(StatCard, {
key: 'profit', key: 'profit',
label: 'Theoretischer Tagesgewinn', label: 'Theoretischer Tagesgewinn',