fix: spdv-1007 cost values correcting (#234)
* fix: spdv-1007 * refactor: spdv-1007 * refactor: spdv-1007
This commit is contained in:
@@ -11,7 +11,7 @@ import {
|
|||||||
} from '@ethersphere/bee-js'
|
} from '@ethersphere/bee-js'
|
||||||
import { Warning } from '@mui/icons-material'
|
import { Warning } from '@mui/icons-material'
|
||||||
import { DriveInfo } from '@solarpunkltd/file-manager-lib'
|
import { DriveInfo } from '@solarpunkltd/file-manager-lib'
|
||||||
import { ReactElement, useCallback, useContext, useEffect, useRef, useState } from 'react'
|
import { ReactElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react'
|
||||||
import { createPortal } from 'react-dom'
|
import { createPortal } from 'react-dom'
|
||||||
import CalendarIcon from 'remixicon-react/CalendarLineIcon'
|
import CalendarIcon from 'remixicon-react/CalendarLineIcon'
|
||||||
import DatabaseIcon from 'remixicon-react/Database2LineIcon'
|
import DatabaseIcon from 'remixicon-react/Database2LineIcon'
|
||||||
@@ -62,7 +62,10 @@ export function UpgradeDriveModal({
|
|||||||
const [capacityIndex, setCapacityIndex] = useState(0)
|
const [capacityIndex, setCapacityIndex] = useState(0)
|
||||||
const [durationExtensionCost, setDurationExtensionCost] = useState('')
|
const [durationExtensionCost, setDurationExtensionCost] = useState('')
|
||||||
const [lifetimeIndex, setLifetimeIndex] = useState(0)
|
const [lifetimeIndex, setLifetimeIndex] = useState(0)
|
||||||
const [validityEndDate, setValidityEndDate] = useState(new Date())
|
const validityEndDate = useMemo(
|
||||||
|
() => getExpiryDateByLifetime(lifetimeIndex, stamp.duration.toEndDate()),
|
||||||
|
[lifetimeIndex, stamp.duration],
|
||||||
|
)
|
||||||
const [sizeMarks, setSizeMarks] = useState<{ value: number; label: string }[]>([])
|
const [sizeMarks, setSizeMarks] = useState<{ value: number; label: string }[]>([])
|
||||||
const [extensionCost, setExtensionCost] = useState('0')
|
const [extensionCost, setExtensionCost] = useState('0')
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
const [isSubmitting, setIsSubmitting] = useState(false)
|
||||||
@@ -113,7 +116,6 @@ export function UpgradeDriveModal({
|
|||||||
encryption: boolean,
|
encryption: boolean,
|
||||||
erasureCodeLevel: RedundancyLevel,
|
erasureCodeLevel: RedundancyLevel,
|
||||||
isCapacityExtensionSet: boolean,
|
isCapacityExtensionSet: boolean,
|
||||||
isDurationExtensionSet: boolean,
|
|
||||||
) => {
|
) => {
|
||||||
let cost: BZZ | undefined
|
let cost: BZZ | undefined
|
||||||
|
|
||||||
@@ -136,26 +138,15 @@ export function UpgradeDriveModal({
|
|||||||
setIsBalanceSufficient(true)
|
setIsBalanceSufficient(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
const bothExtensions = isCapacityExtensionSet && isDurationExtensionSet
|
if (isCapacityExtensionSet) {
|
||||||
const capacityOnly = isCapacityExtensionSet && !isDurationExtensionSet
|
|
||||||
const durationOnly = !isCapacityExtensionSet && isDurationExtensionSet
|
|
||||||
const noExtensions = !isCapacityExtensionSet && !isDurationExtensionSet
|
|
||||||
|
|
||||||
if (bothExtensions) {
|
|
||||||
setCapacityExtensionCost('')
|
setCapacityExtensionCost('')
|
||||||
setDurationExtensionCost('')
|
setDurationExtensionCost('')
|
||||||
} else if (capacityOnly) {
|
|
||||||
setCapacityExtensionCost(costText)
|
|
||||||
setDurationExtensionCost('0')
|
|
||||||
} else if (durationOnly) {
|
|
||||||
setCapacityExtensionCost('0')
|
|
||||||
setDurationExtensionCost(costText)
|
|
||||||
} else {
|
} else {
|
||||||
setCapacityExtensionCost('0')
|
setCapacityExtensionCost('0')
|
||||||
setDurationExtensionCost('0')
|
setDurationExtensionCost(costText)
|
||||||
}
|
}
|
||||||
|
|
||||||
setExtensionCost(noExtensions ? '0' : costText)
|
setExtensionCost(costText)
|
||||||
},
|
},
|
||||||
[beeApi, walletBalance, isMountedRef, setErrorMessage, setShowError],
|
[beeApi, walletBalance, isMountedRef, setErrorMessage, setShowError],
|
||||||
)
|
)
|
||||||
@@ -193,9 +184,7 @@ export function UpgradeDriveModal({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const fetchExtensionCost = () => {
|
const fetchExtensionCost = () => {
|
||||||
const isCapacitySet = capacityIndex > 0
|
const isCapacitySet = capacityIndex > 0
|
||||||
const isDurationSet = lifetimeIndex >= 0
|
const extendDuration = Duration.fromEndDate(validityEndDate, stamp.duration.toEndDate())
|
||||||
const extendDuration =
|
|
||||||
lifetimeIndex >= 0 ? Duration.fromEndDate(validityEndDate, stamp.duration.toEndDate()) : Duration.ZERO
|
|
||||||
|
|
||||||
handleCostCalculation(
|
handleCostCalculation(
|
||||||
stamp.batchID,
|
stamp.batchID,
|
||||||
@@ -205,16 +194,11 @@ export function UpgradeDriveModal({
|
|||||||
false,
|
false,
|
||||||
defaultErasureCodeLevel,
|
defaultErasureCodeLevel,
|
||||||
isCapacitySet,
|
isCapacitySet,
|
||||||
isDurationSet,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fetchExtensionCost()
|
fetchExtensionCost()
|
||||||
}, [capacity, validityEndDate, capacityIndex, handleCostCalculation, lifetimeIndex, stamp.batchID, stamp.duration])
|
}, [capacity, validityEndDate, capacityIndex, handleCostCalculation, stamp.batchID, stamp.duration])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setValidityEndDate(getExpiryDateByLifetime(lifetimeIndex, stamp.duration.toEndDate()))
|
|
||||||
}, [lifetimeIndex, stamp.duration])
|
|
||||||
|
|
||||||
const batchIdStr = stamp.batchID.toString()
|
const batchIdStr = stamp.batchID.toString()
|
||||||
const shortBatchId = batchIdStr.length > 12 ? `${batchIdStr.slice(0, 4)}...${batchIdStr.slice(-4)}` : batchIdStr
|
const shortBatchId = batchIdStr.length > 12 ? `${batchIdStr.slice(0, 4)}...${batchIdStr.slice(-4)}` : batchIdStr
|
||||||
|
|||||||
Reference in New Issue
Block a user