mirror of
https://github.com/oceanprotocol/commons.git
synced 2023-03-15 18:03:00 +01:00
prototype consume feedback mesages
This commit is contained in:
parent
7e2d7ac6ad
commit
cbfc1bd1c7
|
@ -15,7 +15,7 @@ interface AssetFileProps {
|
||||||
interface AssetFileState {
|
interface AssetFileState {
|
||||||
isLoading: boolean
|
isLoading: boolean
|
||||||
error: string
|
error: string
|
||||||
message: string
|
step: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class AssetFile extends PureComponent<
|
export default class AssetFile extends PureComponent<
|
||||||
|
@ -25,10 +25,26 @@ export default class AssetFile extends PureComponent<
|
||||||
public state = {
|
public state = {
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
error: '',
|
error: '',
|
||||||
message: 'Decrypting file URL, please sign...'
|
step: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
private resetState = () => this.setState({ isLoading: true, error: '' })
|
private feedbackMessage = (step: number) => {
|
||||||
|
switch (step) {
|
||||||
|
case 0:
|
||||||
|
return 'Asking for agreement signature...'
|
||||||
|
case 1:
|
||||||
|
return 'Sending agreement request...'
|
||||||
|
case 2:
|
||||||
|
return 'Asking for payment confirmation...'
|
||||||
|
case 3:
|
||||||
|
return 'Consuming file...'
|
||||||
|
default:
|
||||||
|
return 'Decrypting file URL...'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private resetState = () =>
|
||||||
|
this.setState({ isLoading: true, error: '', step: 0 })
|
||||||
|
|
||||||
private purchaseAsset = async (ddo: DDO, index: number) => {
|
private purchaseAsset = async (ddo: DDO, index: number) => {
|
||||||
this.resetState()
|
this.resetState()
|
||||||
|
@ -43,11 +59,10 @@ export default class AssetFile extends PureComponent<
|
||||||
try {
|
try {
|
||||||
const accounts = await ocean.accounts.list()
|
const accounts = await ocean.accounts.list()
|
||||||
const service = ddo.findServiceByType('Access')
|
const service = ddo.findServiceByType('Access')
|
||||||
const agreementId = await ocean.assets.order(
|
|
||||||
ddo.id,
|
const agreementId = await ocean.assets
|
||||||
service.serviceDefinitionId,
|
.order(ddo.id, service.serviceDefinitionId, accounts[0])
|
||||||
accounts[0]
|
.next((step: number) => this.setState({ step }))
|
||||||
)
|
|
||||||
|
|
||||||
const path = await ocean.assets.consume(
|
const path = await ocean.assets.consume(
|
||||||
agreementId,
|
agreementId,
|
||||||
|
@ -75,7 +90,7 @@ export default class AssetFile extends PureComponent<
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
const { ddo, file } = this.props
|
const { ddo, file } = this.props
|
||||||
const { isLoading, message, error } = this.state
|
const { isLoading, message, error, step } = this.state
|
||||||
const { isLogged, isOceanNetwork } = this.context
|
const { isLogged, isOceanNetwork } = this.context
|
||||||
const { index } = file
|
const { index } = file
|
||||||
|
|
||||||
|
@ -93,7 +108,9 @@ export default class AssetFile extends PureComponent<
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{isLoading ? (
|
{isLoading ? (
|
||||||
<Spinner message={message} />
|
<>
|
||||||
|
<Spinner message={this.feedbackMessage(step)} />
|
||||||
|
</>
|
||||||
) : (
|
) : (
|
||||||
<Button
|
<Button
|
||||||
primary
|
primary
|
||||||
|
|
Loading…
Reference in New Issue
Block a user