mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
fix: график крипты открывать за всё время, лучший/худший рост — по выбранному периоду
График во вкладке «Криптовалюта» теперь по умолчанию показывает всю историю, а не 30 дней — короткое окно у портфеля, растущего годами, часто попадало на локальную просадку и выглядело демотивирующе. Плитки «Лучший рост» и «Худшее падение» раньше всегда считались за 24 часа. Теперь они следуют за диапазоном, выбранным у графика (7д/30д/90д/всё время): для 7д/30д используются закэшированные данные CoinGecko, для «всё время» — метрика за 1 год (дальше бесплатный тариф CoinGecko историю не отдаёт), а для 90д — отдельный запрос по каждой монете, который выполняется только когда пользователь реально выбрал этот период.
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
deleteCryptoHolding,
|
||||
deleteCryptoPortfolio,
|
||||
deleteCryptoTransaction,
|
||||
fetchCrypto90dPerformance,
|
||||
fetchCryptoHistory,
|
||||
fetchCryptoHoldings,
|
||||
fetchCryptoPortfolios,
|
||||
@@ -74,6 +75,17 @@ export function useCryptoHistory(range: CryptoRange, portfolioId?: number | null
|
||||
});
|
||||
}
|
||||
|
||||
// Only fires while the 90d range is actually selected — a real CoinGecko
|
||||
// call per held coin (see get_90d_performance's docstring), not something
|
||||
// to run on every Crypto tab visit the way 7d/30d/1y already do for free.
|
||||
export function useCrypto90dPerformance(range: CryptoRange, portfolioId?: number | null) {
|
||||
return useQuery({
|
||||
queryKey: ["crypto-performance-90d", portfolioId ?? null],
|
||||
queryFn: () => fetchCrypto90dPerformance(portfolioId),
|
||||
enabled: range === "90d",
|
||||
});
|
||||
}
|
||||
|
||||
export function useCryptoTransactions(assetId: number | null) {
|
||||
return useQuery({
|
||||
queryKey: ["crypto-transactions", assetId],
|
||||
|
||||
Reference in New Issue
Block a user