Address royalty address import issue for open edition

This commit is contained in:
Serkan Reis 2023-08-17 14:22:05 +03:00
parent 58d2a4abd7
commit 8b902a1078

View File

@ -23,6 +23,7 @@ type RoyaltyState = 'none' | 'new'
export const RoyaltyDetails = ({ onChange, importedRoyaltyDetails }: RoyaltyDetailsProps) => { export const RoyaltyDetails = ({ onChange, importedRoyaltyDetails }: RoyaltyDetailsProps) => {
const wallet = useWallet() const wallet = useWallet()
const [royaltyState, setRoyaltyState] = useState<RoyaltyState>('none') const [royaltyState, setRoyaltyState] = useState<RoyaltyState>('none')
const [royaltyDetailsImported, setRoyaltyDetailsImported] = useState(false)
const royaltyPaymentAddressState = useInputState({ const royaltyPaymentAddressState = useInputState({
id: 'royalty-payment-address', id: 'royalty-payment-address',
@ -41,6 +42,7 @@ export const RoyaltyDetails = ({ onChange, importedRoyaltyDetails }: RoyaltyDeta
}) })
useEffect(() => { useEffect(() => {
if (!importedRoyaltyDetails || (importedRoyaltyDetails && royaltyDetailsImported)) {
void resolveAddress( void resolveAddress(
royaltyPaymentAddressState.value royaltyPaymentAddressState.value
.toLowerCase() .toLowerCase()
@ -58,14 +60,16 @@ export const RoyaltyDetails = ({ onChange, importedRoyaltyDetails }: RoyaltyDeta
} }
onChange(data) onChange(data)
}) })
}
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [royaltyState, royaltyPaymentAddressState.value, royaltyShareState.value]) }, [royaltyState, royaltyPaymentAddressState.value, royaltyShareState.value])
useEffect(() => { useEffect(() => {
if (importedRoyaltyDetails) { if (importedRoyaltyDetails) {
setRoyaltyState(importedRoyaltyDetails.royaltyType) setRoyaltyState(importedRoyaltyDetails.royaltyType)
royaltyPaymentAddressState.onChange(importedRoyaltyDetails.paymentAddress) royaltyPaymentAddressState.onChange(importedRoyaltyDetails.paymentAddress.toString())
royaltyShareState.onChange(importedRoyaltyDetails.share.toString()) royaltyShareState.onChange(importedRoyaltyDetails.share.toString())
setRoyaltyDetailsImported(true)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [importedRoyaltyDetails]) }, [importedRoyaltyDetails])