feat: save new overrires from commissions list
This commit is contained in:
parent
e918a62994
commit
9d52b49083
3 changed files with 34 additions and 1 deletions
|
|
@ -12,6 +12,7 @@ import { fromNamespace, toNamespace, namespaces } from 'src/utils/config'
|
||||||
|
|
||||||
import CommissionsDetails from './components/CommissionsDetails'
|
import CommissionsDetails from './components/CommissionsDetails'
|
||||||
import CommissionsList from './components/CommissionsList'
|
import CommissionsList from './components/CommissionsList'
|
||||||
|
import { removeCoinFromOverride } from './helper.js'
|
||||||
|
|
||||||
const GET_DATA = gql`
|
const GET_DATA = gql`
|
||||||
query getData {
|
query getData {
|
||||||
|
|
@ -45,6 +46,7 @@ const styles = {
|
||||||
colorLabel: {
|
colorLabel: {
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
|
alignSelf: 'flex-end',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
marginLeft: 'auto',
|
marginLeft: 'auto',
|
||||||
'& div': {
|
'& div': {
|
||||||
|
|
@ -72,7 +74,8 @@ const Commissions = ({ name: SCREEN_KEY }) => {
|
||||||
const localeConfig =
|
const localeConfig =
|
||||||
data?.config && fromNamespace(namespaces.LOCALE)(data.config)
|
data?.config && fromNamespace(namespaces.LOCALE)(data.config)
|
||||||
|
|
||||||
const currency = R.path(['fiatCurrency'])(localeConfig)
|
const currency = R.prop('fiatCurrency')(localeConfig)
|
||||||
|
const overrides = R.prop('overrides')(config)
|
||||||
|
|
||||||
const save = it => {
|
const save = it => {
|
||||||
const config = toNamespace(SCREEN_KEY)(it.commissions[0])
|
const config = toNamespace(SCREEN_KEY)(it.commissions[0])
|
||||||
|
|
@ -84,6 +87,28 @@ const Commissions = ({ name: SCREEN_KEY }) => {
|
||||||
return saveConfig({ variables: { config } })
|
return saveConfig({ variables: { config } })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const saveOverridesFromList = it => (_, override) => {
|
||||||
|
const cryptoOverriden = R.path(['cryptoCurrencies', 0], override)
|
||||||
|
|
||||||
|
const machineOverrides = R.map(removeCoinFromOverride(cryptoOverriden))(
|
||||||
|
R.filter(
|
||||||
|
c =>
|
||||||
|
c.machine === override.machine &&
|
||||||
|
!c.cryptoCurrencies.every(c => c === cryptoOverriden)
|
||||||
|
)(it)
|
||||||
|
)
|
||||||
|
|
||||||
|
const overrides = machineOverrides.concat(
|
||||||
|
R.filter(c => c.machine !== override.machine)(it)
|
||||||
|
)
|
||||||
|
|
||||||
|
const config = {
|
||||||
|
commissions_overrides: R.prepend(override, overrides)
|
||||||
|
}
|
||||||
|
|
||||||
|
return saveConfig({ variables: { config } })
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Box className={classes.titleWrapper}>
|
<Box className={classes.titleWrapper}>
|
||||||
|
|
@ -119,6 +144,7 @@ const Commissions = ({ name: SCREEN_KEY }) => {
|
||||||
currency={currency}
|
currency={currency}
|
||||||
data={data}
|
data={data}
|
||||||
error={error}
|
error={error}
|
||||||
|
saveOverrides={saveOverridesFromList(overrides)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ const CommissionsList = memo(
|
||||||
error={error?.message}
|
error={error?.message}
|
||||||
name="comissionsList"
|
name="comissionsList"
|
||||||
enableEdit
|
enableEdit
|
||||||
|
save={saveOverrides}
|
||||||
initialValues={overridesDefaults}
|
initialValues={overridesDefaults}
|
||||||
validationSchema={getListCommissionsSchema()}
|
validationSchema={getListCommissionsSchema()}
|
||||||
data={R.compose(
|
data={R.compose(
|
||||||
|
|
|
||||||
|
|
@ -576,6 +576,11 @@ const sortCommissionsBy = (prop, machines) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const removeCoinFromOverride = crypto => override =>
|
||||||
|
R.mergeRight(override, {
|
||||||
|
cryptoCurrencies: R.without([crypto], override.cryptoCurrencies)
|
||||||
|
})
|
||||||
|
|
||||||
export {
|
export {
|
||||||
mainFields,
|
mainFields,
|
||||||
overrides,
|
overrides,
|
||||||
|
|
@ -593,6 +598,7 @@ export {
|
||||||
byCoin,
|
byCoin,
|
||||||
sortCommissionsBy,
|
sortCommissionsBy,
|
||||||
filterCommissions,
|
filterCommissions,
|
||||||
|
removeCoinFromOverride,
|
||||||
SHOW_ALL,
|
SHOW_ALL,
|
||||||
ORDER_OPTIONS
|
ORDER_OPTIONS
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue