fix(Minting): After minting completed 1 airdrop button is enabled and the other disabled
- Added `buttonEnabled` property to `StatusInfoBoxPanel` so it can be set from outside. - Fixed airdrop button enable condition in minting flow. It is enabled when minting state is completed and if the token properties are infinite supply or there are still remaining tokens to be airdropped. - Updated storybook accordingly. Fixes #11496
This commit is contained in:
parent
cb07625a57
commit
d832a306a4
|
@ -43,6 +43,7 @@ SplitView {
|
|||
|
||||
model: emptyCheckBox.checked ? emptyModel : tokenHoldersModel
|
||||
showRemotelyDestructMenuItem: remotelyDestructCheckBox.checked
|
||||
isAirdropEnabled: airdropCheckBox.checked
|
||||
|
||||
onViewProfileRequested:
|
||||
logs.logEvent("onViewProfileRequested: " + address)
|
||||
|
@ -79,6 +80,12 @@ SplitView {
|
|||
checked: true
|
||||
text: "Show \"Remotely Destruct\" menu item"
|
||||
}
|
||||
CheckBox {
|
||||
id: airdropCheckBox
|
||||
|
||||
text: "Airdrop enabled"
|
||||
checked: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@ SplitView {
|
|||
title: "Get started"
|
||||
text: ModelsData.descriptions.ownerTokenInfo
|
||||
buttonText: "Mint Owner token"
|
||||
buttonVisible: btnVisible.checked
|
||||
buttonEnabled: btnEnabled.checked
|
||||
|
||||
onClicked: logs.logEvent("StatusInfoBoxPanel::onClicked --> First Panel")
|
||||
}
|
||||
|
@ -39,6 +41,8 @@ SplitView {
|
|||
iconType: ctrlIconType.currentIndex
|
||||
text: ModelsData.descriptions.airdropInfo
|
||||
buttonText: "Airdrop"
|
||||
buttonVisible: btnVisible.checked
|
||||
buttonEnabled: btnEnabled.checked
|
||||
|
||||
onClicked: logs.logEvent("StatusInfoBoxPanel::onClicked --> Second Panel")
|
||||
}
|
||||
|
@ -86,6 +90,18 @@ SplitView {
|
|||
]
|
||||
}
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: btnVisible
|
||||
text: "Button visible"
|
||||
checked: true
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: btnEnabled
|
||||
text: "Button enabled"
|
||||
checked: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,8 @@ Control {
|
|||
property string icon
|
||||
property int iconType: StatusInfoBoxPanel.Type.Info
|
||||
property alias buttonText: button.text
|
||||
property alias buttonVisible: button.visible
|
||||
property bool buttonVisible: true
|
||||
property bool buttonEnabled: true
|
||||
|
||||
enum Type {
|
||||
Info,
|
||||
|
@ -105,7 +106,8 @@ Control {
|
|||
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
visible: true
|
||||
visible: root.buttonVisible
|
||||
enabled: root.buttonEnabled
|
||||
|
||||
onClicked: root.clicked()
|
||||
}
|
||||
|
|
|
@ -552,6 +552,7 @@ StackView {
|
|||
id: footer
|
||||
|
||||
readonly property TokenObject token: view.token
|
||||
readonly property bool isAssetView: view.isAssetView
|
||||
|
||||
readonly property bool deployStateCompleted: token.deployState === Constants.ContractTransactionStatus.Completed
|
||||
|
||||
|
@ -574,7 +575,7 @@ StackView {
|
|||
}
|
||||
airdropEnabled: deployStateCompleted &&
|
||||
(token.infiniteSupply ||
|
||||
token.remainingTokens !== 0)
|
||||
token.remainingTokens > 0)
|
||||
|
||||
remotelyDestructEnabled: deployStateCompleted &&
|
||||
!!view.tokenOwnersModel &&
|
||||
|
|
|
@ -20,6 +20,7 @@ Control {
|
|||
|
||||
property string tokenName
|
||||
property bool showRemotelyDestructMenuItem: true
|
||||
property alias isAirdropEnabled: infoBoxPanel.buttonEnabled
|
||||
|
||||
readonly property alias sortBy: holdersList.sortBy
|
||||
readonly property alias sorting: holdersList.sorting
|
||||
|
@ -104,6 +105,8 @@ Control {
|
|||
}
|
||||
|
||||
StatusInfoBoxPanel {
|
||||
id: infoBoxPanel
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.current.padding
|
||||
|
||||
|
|
|
@ -222,6 +222,8 @@ StatusScrollView {
|
|||
model: root.tokenOwnersModel
|
||||
tokenName: root.name
|
||||
showRemotelyDestructMenuItem: !root.isAssetView && root.remotelyDestruct
|
||||
isAirdropEnabled: root.deploymentCompleted &&
|
||||
(token.infiniteSupply || token.remainingTokens > 0)
|
||||
|
||||
Layout.topMargin: Style.current.padding
|
||||
Layout.fillWidth: true
|
||||
|
|
Loading…
Reference in New Issue