aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-12-04 04:54:29 +0800
committerFred Carlsen <fred@sjelfull.no>2018-12-06 18:56:11 +0800
commit4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28 (patch)
treecf48c0335122103d6a3575b5f12bce43d8ca7255 /packages/website
parent659ae0dcca070ce771a7329d8b4bc922ed1baf4a (diff)
downloaddexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar.gz
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar.bz2
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar.lz
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar.xz
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.tar.zst
dexon-sol-tools-4d7e5b4e5de8dc01703d1ca6d00b23cbd917ea28.zip
feat: add fee percentage slier
Diffstat (limited to 'packages/website')
-rw-r--r--packages/website/ts/pages/instant/config_generator.tsx28
-rw-r--r--packages/website/ts/pages/instant/config_generator_address_input.tsx2
-rw-r--r--packages/website/ts/pages/instant/configurator.tsx2
3 files changed, 30 insertions, 2 deletions
diff --git a/packages/website/ts/pages/instant/config_generator.tsx b/packages/website/ts/pages/instant/config_generator.tsx
index 9c3161dcc..8b56834ea 100644
--- a/packages/website/ts/pages/instant/config_generator.tsx
+++ b/packages/website/ts/pages/instant/config_generator.tsx
@@ -3,6 +3,7 @@ import { getContractAddressesForNetworkOrThrow } from '@0x/contract-addresses';
import { assetDataUtils } from '@0x/order-utils';
import { ObjectMap } from '@0x/types';
import * as _ from 'lodash';
+import Slider from 'material-ui/Slider';
import * as React from 'react';
import { CheckMark } from 'ts/components/ui/check_mark';
@@ -65,6 +66,19 @@ export class ConfigGenerator extends React.Component<ConfigGeneratorProps, Confi
onChange={this._handleAffiliateAddressChange}
/>
</ConfigGeneratorSection>
+ <ConfigGeneratorSection
+ title="Fee percentage"
+ actionText="Learn more"
+ onActionTextClick={this._handleAffiliatePercentageLearnMoreClick}
+ >
+ <Slider
+ min={0}
+ max={0.05}
+ step={0.0025}
+ value={value.affiliateInfo.feePercentage}
+ onChange={this._handleAffiliatePercentageChange}
+ />
+ </ConfigGeneratorSection>
</Container>
);
}
@@ -91,6 +105,9 @@ export class ConfigGenerator extends React.Component<ConfigGeneratorProps, Confi
private readonly _getAllKnownAssetDatas = (): string[] => {
return _.map(this.state.allKnownTokens, token => assetDataUtils.encodeERC20AssetData(token.address));
};
+ private readonly _handleAffiliatePercentageLearnMoreClick = (): void => {
+ window.open('/wiki#Learn-About-Affiliate-Fees', '_blank');
+ };
private readonly _handleSRASelection = (sraEndpoint: string) => {
const newConfig: ZeroExInstantBaseConfig = {
...this.props.value,
@@ -109,6 +126,17 @@ export class ConfigGenerator extends React.Component<ConfigGeneratorProps, Confi
};
this.props.onConfigChange(newConfig);
};
+ private readonly _handleAffiliatePercentageChange = (event: any, value: number) => {
+ const oldConfig: ZeroExInstantBaseConfig = this.props.value;
+ const newConfig: ZeroExInstantBaseConfig = {
+ ...oldConfig,
+ affiliateInfo: {
+ feeRecipient: oldConfig.affiliateInfo.feeRecipient,
+ feePercentage: value,
+ },
+ };
+ this.props.onConfigChange(newConfig);
+ };
private readonly _handleSelectAllClick = () => {
const newConfig: ZeroExInstantBaseConfig = {
...this.props.value,
diff --git a/packages/website/ts/pages/instant/config_generator_address_input.tsx b/packages/website/ts/pages/instant/config_generator_address_input.tsx
index dbda547cd..de2640f48 100644
--- a/packages/website/ts/pages/instant/config_generator_address_input.tsx
+++ b/packages/website/ts/pages/instant/config_generator_address_input.tsx
@@ -48,7 +48,7 @@ export class ConfigGeneratorAddressInput extends React.Component<
);
}
- private _handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
+ private readonly _handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
const address = event.target.value;
const isValidAddress = addressUtils.isAddress(address.toLowerCase()) || address === '';
const errMsg = isValidAddress ? '' : 'Please enter a valid Ethereum address';
diff --git a/packages/website/ts/pages/instant/configurator.tsx b/packages/website/ts/pages/instant/configurator.tsx
index e72f07a70..0ce1d9810 100644
--- a/packages/website/ts/pages/instant/configurator.tsx
+++ b/packages/website/ts/pages/instant/configurator.tsx
@@ -25,7 +25,7 @@ export class Configurator extends React.Component<ConfiguratorProps> {
availableAssetDatas: [],
affiliateInfo: {
feeRecipient: '',
- feePercentage: 0.1,
+ feePercentage: 0.01,
},
},
};