fix stable price line updates

This commit is contained in:
tjs 2023-02-26 20:04:02 -05:00
parent 5cae40d347
commit 1a763c8c9d
3 changed files with 21 additions and 22 deletions

View File

@ -93,11 +93,6 @@ const RecentTrades = () => {
}
)
console.log(
'selectedMarket instanceof PerpMarket',
selectedMarket instanceof PerpMarket
)
useEffect(() => {
const actions = mangoStore.getState().actions
if (selectedMarket) {

View File

@ -189,6 +189,10 @@ const TradingViewChart = () => {
if (!tvWidgetRef?.current?.chart()) return
const now = Date.now() / 1000
try {
const oldId = mangoStore.getState().tradingView.stablePriceLine
if (oldId) {
tvWidgetRef.current.chart().removeEntity(oldId)
}
const id = tvWidgetRef.current.chart().createShape(
{ time: now, price: price },
{
@ -726,24 +730,26 @@ const TradingViewChart = () => {
},
}
console.log('creating new chart')
const tvWidget = new widget(widgetOptions)
tvWidgetRef.current = tvWidget
tvWidgetRef.current.onChartReady(function () {
createOLButton()
createStablePriceButton()
if (showOrderLines) {
const openOrders = mangoStore.getState().mangoAccount.openOrders
deleteLines()
drawLinesForMarket(openOrders)
}
if (showStablePrice && stablePrice) {
const set = mangoStore.getState().set
const elementId = drawStablePriceLine(stablePrice)
set((s) => {
s.tradingView.stablePriceLine = elementId
})
}
// if (showOrderLines) {
// const openOrders = mangoStore.getState().mangoAccount.openOrders
// deleteLines()
// drawLinesForMarket(openOrders)
// }
// if (showStablePrice && stablePrice) {
// const set = mangoStore.getState().set
// const elementId = drawStablePriceLine(stablePrice)
// set((s) => {
// s.tradingView.stablePriceLine = elementId
// })
// }
setChartReady(true)
})
//eslint-disable-next-line
@ -759,7 +765,7 @@ const TradingViewChart = () => {
drawLinesForMarket,
showOrderLines,
showStablePrice,
stablePrice,
// stablePrice,
drawStablePriceLine,
setChartReady,
isMobile,

View File

@ -1,18 +1,16 @@
import { I80F48, PerpMarket } from '@blockworks-foundation/mango-v4'
import mangoStore from '@store/mangoStore'
import { useMemo } from 'react'
import useMangoGroup from './useMangoGroup'
import useSelectedMarket from './useSelectedMarket'
const useStablePrice = () => {
const { selectedMarket } = useSelectedMarket()
const perpMarkets = mangoStore((s) => s.perpMarkets)
const { group } = useMangoGroup()
const banks = useMemo(() => {
if (!group) return []
return Array.from(group.banksMapByMint)
.map(([mintAddress, banks]) => banks)
.map(([_mintAddress, banks]) => banks)
.map((b) => b[0])
}, [group])
@ -40,7 +38,7 @@ const useStablePrice = () => {
stablePrice = baseStablePrice / quoteStablePrice
}
return stablePrice
}, [banks, group, perpMarkets, selectedMarket])
}, [banks, group, selectedMarket])
return stablePrice
}