diff --git a/src/common/blockchain/services/discover-service/discover-service.js b/src/common/blockchain/services/discover-service/discover-service.js index c353f3d..0e32cda 100644 --- a/src/common/blockchain/services/discover-service/discover-service.js +++ b/src/common/blockchain/services/discover-service/discover-service.js @@ -265,7 +265,7 @@ class DiscoverService extends BlockchainService { } } - async setMetadata(id, metadata) { + async setMetadata(id, metadata, email) { const ConnectedDiscoverContract = await super.__unlockServiceAccount( DiscoverContract, ) @@ -274,7 +274,7 @@ class DiscoverService extends BlockchainService { const dappMetadata = JSON.parse(JSON.stringify(metadata)) dappMetadata.uploader = this.sharedContext.account - const uploadedMetadata = await MetadataClient.upload(dappMetadata) + const uploadedMetadata = await MetadataClient.upload(dappMetadata, email) try { const tx = await broadcastContractFn( @@ -283,6 +283,7 @@ class DiscoverService extends BlockchainService { this.sharedContext.account, ) + // TODO: This results in endless "Waiting for confirmation... errors, though the tx is successful" await MetadataClient.update(id, tx) return tx diff --git a/src/common/utils/email-utils.js b/src/common/utils/email-utils.js new file mode 100644 index 0000000..91fe393 --- /dev/null +++ b/src/common/utils/email-utils.js @@ -0,0 +1,4 @@ +// eslint-disable-next-line import/prefer-default-export +export const emailValidation = email => { + return new RegExp(/[\w-]+@([\w-]+\.)+[\w-]+/gm).test(email) +} diff --git a/src/modules/Submit/Submit.jsx b/src/modules/Submit/Submit.jsx index 348187b..1df9734 100644 --- a/src/modules/Submit/Submit.jsx +++ b/src/modules/Submit/Submit.jsx @@ -15,6 +15,7 @@ import 'rc-slider/assets/index.css' import 'rc-tooltip/assets/bootstrap.css' import { DappState } from '../../common/data/dapp' import validator from 'validator' +import { emailValidation } from '../../common/utils/email-utils' const getCategoryName = category => Categories.find(x => x.key === category).value @@ -224,13 +225,12 @@ class Submit extends React.Component { visible_submit, visible_rating, onClickClose, - email, - id, name, desc, url, img, category, + email, imgControl, imgControlZoom, onImgCancel, @@ -239,7 +239,12 @@ class Submit extends React.Component { } = this.props const canSubmit = - name !== '' && desc !== '' && url !== '' && img !== '' && category !== '' + name !== '' && + desc !== '' && + url !== '' && + img !== '' && + category !== '' && + emailValidation(email) const visible = visible_submit || visible_rating @@ -277,19 +282,6 @@ class Submit extends React.Component { {visible_submit && (