Skip to content

Commit

Permalink
mark user lending order
Browse files Browse the repository at this point in the history
  • Loading branch information
thanhvk committed Jul 24, 2020
1 parent d529e3d commit 2e06964
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 4 deletions.
13 changes: 13 additions & 0 deletions src/components/lending/LendingOrderBook/OrderBookRenderer.jsx
Expand Up @@ -176,6 +176,7 @@ const BuyOrder = (props: SingleOrderProps) => {
const { order, onClick } = props
return (
<Row update={order.update}>
{ order.userOrder && <MarkUserOrder /> }
<BuyRowBackground amount={order.relativeTotal} />
<RowContentWrapper>
<RowContent>
Expand All @@ -192,6 +193,7 @@ const SellOrder = (props: SingleOrderProps) => {
const { order, onClick } = props
return (
<Row update={order.update}>
{ order.userOrder && <MarkUserOrder /> }
<SellRowBackGround amount={order.relativeTotal} />
<RowContentWrapper>
<RowContent>
Expand Down Expand Up @@ -457,4 +459,15 @@ const Ellipsis = styled.span`
text-overflow: ellipsis;
`

const MarkUserOrder = styled.i.attrs({
className: "fa fa-caret-right",
ariaHidden: "true"
})`
position: absolute;
top: 50%;
left: 2px;
transform: translateY(-50%);
color: ${TmColors.ORANGE};
`

export default OrderBookRenderer
5 changes: 2 additions & 3 deletions src/store/domains/lending/lendingOrders.js
Expand Up @@ -111,16 +111,15 @@ export default function ordersDomain(state: OrdersState) {
const orders: Orders = getOrders(state)
const history = orders.filter(
order =>
['CANCELLED', 'FILLED', 'PARTIALLY_FILLED'].indexOf(order.status) ===
-1,
['CANCELLED', 'FILLED', 'PARTIALLY_FILLED'].indexOf(order.status) === 1
)
return history
},

current: (): Orders => {
const orders: Orders = getOrders(state)
const current = orders.filter(
order => ['NEW', 'OPEN'].indexOf(order.status) === -1,
order => ['NEW', 'OPEN'].indexOf(order.status) === 1
)
return current
},
Expand Down
24 changes: 23 additions & 1 deletion src/store/models/lending/lendingOrderBook.js
@@ -1,16 +1,26 @@
// @flow
import BigNumber from 'bignumber.js'

import {
getLendingOrderBookDomain,
getLendingPairsDomain,
getLendingOrdersDomain,
} from '../../domains'
import type { State } from '../../../types'

export default function lendingOrderBookSelector(state: State) {
const { bids, asks } = getLendingOrderBookDomain(state).getOrderBookData(35)
let { bids, asks } = getLendingOrderBookDomain(state).getOrderBookData(35)
const pairDomain = getLendingPairsDomain(state)

const currentPair = pairDomain.getCurrentPair()
const currentPairData = pairDomain.getCurrentPairData()
const userOrderInterests = getLendingOrdersDomain(state).current()
.filter(order => order.term === currentPair.termValue
&& order.lendingToken.toLowerCase() === currentPair.lendingTokenAddress.toLowerCase())
.map(order => BigNumber(order.interest).toNumber(2, 1))

bids = markUserOrder(bids, userOrderInterests)
asks = markUserOrder(asks, userOrderInterests)

return {
bids,
Expand All @@ -19,3 +29,15 @@ export default function lendingOrderBookSelector(state: State) {
currentPairData,
}
}

function markUserOrder(bidsOrAsks, orderInterests) {
return bidsOrAsks.map(item => {
if (orderInterests.includes(Number(item.interest))) {
item.userOrder = true
} else {
item.userOrder = false
}

return item
})
}

0 comments on commit 2e06964

Please sign in to comment.