feat: добавить уровень риска для крипто-холдингов

Риск (низкий/средний/высокий) задаётся при добавлении монеты и
редактируется прямо в таблице холдингов. Добавлена вкладка "Уровни
риска" в карточке портфеля с разбивкой % по риск-тирам, только для
крипты. Заодно поправлено округление процентов в риск-карточках.
This commit is contained in:
ZProger
2026-09-08 21:46:09 +03:00
parent e4b163df21
commit fcbd217915
13 changed files with 335 additions and 47 deletions

View File

@@ -12,10 +12,11 @@ import {
fetchCryptoPortfolios,
fetchCryptoTransactions,
refreshCryptoPrices,
updateCryptoHoldingRisk,
updateCryptoPortfolio,
updateCryptoTransaction,
} from "@/api/crypto";
import type { CryptoHoldingCreateInput, CryptoPortfolioInput, CryptoRange, CryptoTransactionInput } from "@/types";
import type { CryptoHoldingCreateInput, CryptoPortfolioInput, CryptoRange, CryptoTransactionInput, RiskLevel } from "@/types";
function useInvalidateCrypto() {
const queryClient = useQueryClient();
@@ -143,3 +144,12 @@ export function useDeleteCryptoHolding() {
onSuccess: invalidate,
});
}
export function useUpdateCryptoHoldingRisk() {
const invalidate = useInvalidateCrypto();
return useMutation({
mutationFn: ({ assetId, riskLevel }: { assetId: number; riskLevel: RiskLevel }) =>
updateCryptoHoldingRisk(assetId, riskLevel),
onSuccess: invalidate,
});
}